From b730e1aa30fe93f3e0461034354e1751b8355d6b Mon Sep 17 00:00:00 2001 From: pixeltris Date: Sun, 14 Jul 2019 18:17:44 +0100 Subject: [PATCH] Initial commit --- .gitattributes | 2 + .gitignore | 334 ++ 2.gitignore | 339 ++ Build/Data/device/0/config.json | 11 + Build/Data/device/1/config.json | 11 + Build/Data/device/655491084/config.json | 96 + Build/Data/device/655491084/data/keymap.js | 706 ++++ Build/Data/device/655491084/data/profile.json | 673 ++++ .../655491084/data/profile_offline_1.json | 981 ++++++ .../655491084/data/profile_offline_2.json | 981 ++++++ .../655491084/data/profile_offline_3.json | 981 ++++++ .../655491084/data/profile_offline_std.json | 26 + .../655491084/data/profile_online_1.json | 678 ++++ Build/Data/device/655491085/config.json | 96 + Build/Data/device/655491085/data/keymap.js | 732 ++++ Build/Data/device/655491085/data/profile.json | 643 ++++ .../655491085/data/profile_offline_1.json | 939 +++++ .../655491085/data/profile_offline_2.json | 939 +++++ .../655491085/data/profile_offline_3.json | 939 +++++ .../655491085/data/profile_offline_std.json | 26 + .../655491085/data/profile_online_1.json | 724 ++++ Build/Data/device/655491117/config.json | 96 + Build/Data/device/655491117/data/keymap.js | 732 ++++ Build/Data/device/655491117/data/profile.json | 643 ++++ .../655491117/data/profile_offline_1.json | 939 +++++ .../655491117/data/profile_offline_2.json | 939 +++++ .../655491117/data/profile_offline_3.json | 939 +++++ .../655491117/data/profile_offline_std.json | 26 + .../655491117/data/profile_online_1.json | 724 ++++ Build/Data/device/655491151/config.json | 27 + Build/Data/device/655491151/data/keymap.js | 1938 ++++++++++ .../Data/device/655491151/data/keymapshow.js | 2224 ++++++++++++ Build/Data/device/655491151/data/profile.json | 38 + .../655491151/data/profile_offline_1.json | 31 + Build/Data/device/655491151/kb_offline.html | 113 + .../device/655491151/res/css/kb_offline.css | 797 +++++ .../device/655491151/res/js/kb_offline.js | 618 ++++ Build/Data/device/655491165/config.json | 98 + Build/Data/device/655491165/data/keymap.js | 1249 +++++++ Build/Data/device/655491165/data/profile.json | 1249 +++++++ .../655491165/data/profile_offline_1.json | 2351 ++++++++++++ .../655491165/data/profile_offline_2.json | 1246 +++++++ .../655491165/data/profile_offline_3.json | 1246 +++++++ .../655491165/data/profile_offline_std.json | 22 + .../655491165/data/profile_online_1.json | 1253 +++++++ Build/Data/device/655491200/config.json | 104 + Build/Data/device/655491200/data/keymap.js | 1014 ++++++ Build/Data/device/655491200/data/profile.json | 1020 ++++++ .../655491200/data/profile_offline_1.json | 1563 ++++++++ .../655491200/data/profile_offline_2.json | 1563 ++++++++ .../655491200/data/profile_offline_3.json | 1563 ++++++++ .../655491200/data/profile_offline_std.json | 26 + .../655491200/data/profile_online_1.json | 1024 ++++++ Build/Data/device/655491238/config.json | 100 + Build/Data/device/655491238/data/keymap.js | 739 ++++ Build/Data/device/655491238/data/profile.json | 643 ++++ .../655491238/data/profile_offline_1.json | 915 +++++ .../655491238/data/profile_offline_2.json | 915 +++++ .../655491238/data/profile_offline_3.json | 915 +++++ .../655491238/data/profile_offline_std.json | 26 + .../655491238/data/profile_online_1.json | 724 ++++ Build/Data/device/655491239/config.json | 96 + Build/Data/device/655491239/data/keymap.js | 706 ++++ Build/Data/device/655491239/data/profile.json | 750 ++++ .../655491239/data/profile_offline_1.json | 740 ++++ .../655491239/data/profile_offline_2.json | 740 ++++ .../655491239/data/profile_offline_3.json | 740 ++++ .../655491239/data/profile_offline_std.json | 26 + .../655491239/data/profile_online_1.json | 745 ++++ Build/Data/device/655491246/config.json | 100 + Build/Data/device/655491246/data/keymap.js | 739 ++++ Build/Data/device/655491246/data/profile.json | 643 ++++ .../655491246/data/profile_offline_1.json | 939 +++++ .../655491246/data/profile_offline_2.json | 939 +++++ .../655491246/data/profile_offline_3.json | 939 +++++ .../655491246/data/profile_offline_std.json | 26 + .../655491246/data/profile_online_1.json | 724 ++++ Build/Data/device/655491247/config.json | 116 + Build/Data/device/655491247/data/keymap.js | 1520 ++++++++ Build/Data/device/655491247/data/profile.json | 757 ++++ .../655491247/data/profile_offline_1.json | 978 +++++ .../655491247/data/profile_offline_2.json | 978 +++++ .../655491247/data/profile_offline_3.json | 978 +++++ .../655491247/data/profile_offline_std.json | 23 + .../655491247/data/profile_online_1.json | 698 ++++ Build/Data/device/655491248/config.json | 104 + Build/Data/device/655491248/data/keymap.js | 1440 ++++++++ Build/Data/device/655491248/data/profile.json | 1249 +++++++ .../655491248/data/profile_offline_1.json | 1246 +++++++ .../655491248/data/profile_offline_2.json | 1246 +++++++ .../655491248/data/profile_offline_3.json | 1246 +++++++ .../655491248/data/profile_offline_std.json | 26 + .../655491248/data/profile_online_1.json | 1251 +++++++ Build/Data/device/655491249/config.json | 108 + Build/Data/device/655491249/data/keymap.js | 1032 ++++++ Build/Data/device/655491249/data/profile.json | 750 ++++ .../655491249/data/profile_offline_1.json | 1032 ++++++ .../655491249/data/profile_offline_2.json | 1032 ++++++ .../655491249/data/profile_offline_3.json | 1032 ++++++ .../655491249/data/profile_offline_std.json | 26 + .../655491249/data/profile_online_1.json | 745 ++++ Build/Data/device/655491249/img/img.zip | Bin 0 -> 112423 bytes Build/Data/device/656801793/config.json | 116 + Build/Data/device/656801793/data/keymap.js | 1520 ++++++++ Build/Data/device/656801793/data/profile.json | 757 ++++ .../656801793/data/profile_offline_1.json | 978 +++++ .../656801793/data/profile_offline_2.json | 978 +++++ .../656801793/data/profile_offline_3.json | 978 +++++ .../656801793/data/profile_offline_std.json | 23 + .../656801793/data/profile_online_1.json | 698 ++++ Build/Data/device/656801795/config.json | 116 + Build/Data/device/656801795/data/keymap.js | 816 +++++ Build/Data/device/656801795/data/profile.json | 757 ++++ .../656801795/data/profile_offline_1.json | 978 +++++ .../656801795/data/profile_offline_2.json | 978 +++++ .../656801795/data/profile_offline_3.json | 978 +++++ .../656801795/data/profile_offline_std.json | 23 + .../656801795/data/profile_online_1.json | 698 ++++ Build/Data/device/656801796/config.json | 116 + Build/Data/device/656801796/data/keymap.js | 816 +++++ Build/Data/device/656801796/data/profile.json | 757 ++++ .../656801796/data/profile_offline_1.json | 978 +++++ .../656801796/data/profile_offline_2.json | 978 +++++ .../656801796/data/profile_offline_3.json | 978 +++++ .../656801796/data/profile_offline_std.json | 23 + .../656801796/data/profile_online_1.json | 698 ++++ Build/Data/device/656801797/config.json | 116 + Build/Data/device/656801797/data/keymap.js | 1520 ++++++++ Build/Data/device/656801797/data/profile.json | 757 ++++ .../656801797/data/profile_offline_1.json | 978 +++++ .../656801797/data/profile_offline_2.json | 978 +++++ .../656801797/data/profile_offline_3.json | 978 +++++ .../656801797/data/profile_offline_std.json | 23 + .../656801797/data/profile_online_1.json | 698 ++++ Build/Data/device/656801798/config.json | 100 + Build/Data/device/656801798/data/keymap.js | 998 ++++++ Build/Data/device/656801798/data/profile.json | 643 ++++ .../656801798/data/profile_offline_1.json | 1207 +++++++ .../656801798/data/profile_offline_2.json | 1207 +++++++ .../656801798/data/profile_offline_3.json | 1207 +++++++ .../656801798/data/profile_offline_std.json | 26 + .../656801798/data/profile_online_1.json | 724 ++++ Build/Data/device/656801800/config.json | 100 + Build/Data/device/656801800/data/keymap.js | 2030 +++++++++++ Build/Data/device/656801800/data/profile.json | 1249 +++++++ .../656801800/data/profile_offline_1.json | 1246 +++++++ .../656801800/data/profile_offline_2.json | 1246 +++++++ .../656801800/data/profile_offline_3.json | 1246 +++++++ .../656801800/data/profile_offline_std.json | 26 + .../656801800/data/profile_online_1.json | 1253 +++++++ Build/Data/device/656801801/config.json | 108 + Build/Data/device/656801801/data/keymap.js | 768 ++++ Build/Data/device/656801801/data/profile.json | 750 ++++ .../656801801/data/profile_offline_1.json | 1032 ++++++ .../656801801/data/profile_offline_2.json | 1032 ++++++ .../656801801/data/profile_offline_3.json | 1032 ++++++ .../656801801/data/profile_offline_std.json | 26 + .../656801801/data/profile_online_1.json | 745 ++++ Build/Data/device/656801802/config.json | 108 + Build/Data/device/656801802/data/keymap.js | 768 ++++ Build/Data/device/656801802/data/profile.json | 750 ++++ .../656801802/data/profile_offline_1.json | 1032 ++++++ .../656801802/data/profile_offline_2.json | 1032 ++++++ .../656801802/data/profile_offline_3.json | 1032 ++++++ .../656801802/data/profile_offline_std.json | 26 + .../656801802/data/profile_online_1.json | 745 ++++ Build/Data/device/modellist.json | 108 + Build/Data/i18n/langs/de.json | 301 ++ Build/Data/i18n/langs/en.json | 333 ++ Build/Data/i18n/langs/es.json | 301 ++ Build/Data/i18n/langs/fr.json | 301 ++ Build/Data/i18n/langs/it.json | 301 ++ Build/Data/i18n/langs/ja.json | 301 ++ Build/Data/i18n/langs/ko.json | 301 ++ Build/Data/i18n/langs/zh.json | 333 ++ Build/Data/keys.json | 1116 ++++++ Build/Data/keys/655491200.txt | 0 Build/Data/lighting/61 Blt Direction key.le | 94 + Build/Data/lighting/61 Blt F1-F12.le | 38 + Build/Data/lighting/61 Blt Function 9 keys.le | 37 + Build/Data/lighting/61 direction key.le | 153 + Build/Data/lighting/61-layer2.le | 32 + Build/Data/lighting/62 direction key.le | 158 + Build/Data/lighting/64 Blt Direction key.le | 86 + Build/Data/lighting/64 Blt F1-F12.le | 29 + Build/Data/lighting/64 Blt Function 9 keys.le | 26 + Build/Data/lighting/64 direction key.le | 158 + Build/Data/lighting/68 Blt Direction key.le | 103 + Build/Data/lighting/68 Blt F1-F12.le | 42 + Build/Data/lighting/68 Blt Function 9 keys.le | 39 + Build/Data/lighting/68 Direction key.le | 160 + Build/Data/lighting/68 Function 9keys.le | 39 + Build/Data/lighting/68 keys F1-F12.le | 42 + .../Data/lighting/7 colors gradual change.le | 173 + Build/Data/lighting/81 Direction key.le | 154 + Build/Data/lighting/81 Function 9keys.le | 26 + Build/Data/lighting/81 Keys F1-F12.le | 28 + Build/Data/lighting/84 Calculator.le | 32 + Build/Data/lighting/84 Direction key.le | 107 + Build/Data/lighting/84 Spectral cycle down.le | 126 + Build/Data/lighting/Blue Light.le | 148 + Build/Data/lighting/Blue light respiration.le | 149 + Build/Data/lighting/Colorful cloud flying.le | 2736 ++++++++++++++ Build/Data/lighting/Colorful waterfall.le | 532 +++ Build/Data/lighting/DOTA.le | 31 + Build/Data/lighting/Drift collide.le | 1099 ++++++ Build/Data/lighting/F1-F12.le | 28 + Build/Data/lighting/Flame.le | 1073 ++++++ Build/Data/lighting/Four seasons as spring.le | 213 ++ Build/Data/lighting/Gradual brighten.le | 176 + Build/Data/lighting/Green Light.le | 148 + .../Data/lighting/Green light respiration.le | 149 + Build/Data/lighting/LOL.le | 43 + .../lighting/Playerunknown's Battlegrounds.le | 47 + Build/Data/lighting/RGB gradient.le | 148 + Build/Data/lighting/RGB neon glow.le | 440 +++ Build/Data/lighting/Rainbow wave.le | 173 + Build/Data/lighting/Red Light.le | 148 + Build/Data/lighting/Red light respiration.le | 149 + Build/Data/lighting/Sea Wave.le | 451 +++ Build/Data/lighting/Spectral cycle.le | 253 ++ Build/Data/lighting/Starlish.le | 294 ++ .../lighting/Stream never stops flowing.le | 3139 +++++++++++++++++ Build/Data/lighting/Two poles.le | 1713 +++++++++ Build/Data/lighting/Violet Light.le | 148 + Build/Data/lighting/Walking in the Waves.le | 1022 ++++++ Build/Data/lighting/White Light.le | 148 + .../Data/lighting/White light respiration.le | 149 + Build/Data/lighting/Windmill.le | 198 ++ Build/Data/lighting/function 9keys.le | 25 + Build/GK6X.exe | Bin 0 -> 98816 bytes Build/HidSharp.dll | Bin 0 -> 242608 bytes Build/HidSharp.xml | 1207 +++++++ Build/KbLog.txt | 190 + Build/UserData/655491200.txt | 35 + CommandLogger/GK6XLoggerLoader.cpp | 150 + CommandLogger/README.md | 3 + CommandLogger/min_minhook.h | 2684 ++++++++++++++ GK6X.sln | 31 + GK6X/BitHelper.cs | 37 + GK6X/CMFile.cs | 227 ++ GK6X/CommandLogger.cs | 2479 +++++++++++++ GK6X/Crc16.cs | 89 + GK6X/Enums.cs | 71 + GK6X/GK6X.csproj | 84 + GK6X/HIDSharp/HidSharp.XML | 1207 +++++++ GK6X/HIDSharp/HidSharp.dll | Bin 0 -> 242608 bytes GK6X/HIDSharp/netstandard2.0/HidSharp.XML | 1207 +++++++ GK6X/HIDSharp/netstandard2.0/HidSharp.dll | Bin 0 -> 235952 bytes GK6X/KeyValues.cs | 556 +++ GK6X/KeyboardDevice.cs | 451 +++ GK6X/KeyboardDeviceManager.cs | 272 ++ GK6X/KeyboardState.cs | 334 ++ GK6X/Localization.cs | 115 + GK6X/MiniJSON.cs | 644 ++++ GK6X/OpCodes.cs | 150 + GK6X/Packet.cs | 802 +++++ GK6X/Program.cs | 312 ++ GK6X/Properties/AssemblyInfo.cs | 36 + GK6X/README.md | 1 + GK6X/UserDataFile.cs | 930 +++++ README.md | 1 + 262 files changed, 155785 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 2.gitignore create mode 100644 Build/Data/device/0/config.json create mode 100644 Build/Data/device/1/config.json create mode 100644 Build/Data/device/655491084/config.json create mode 100644 Build/Data/device/655491084/data/keymap.js create mode 100644 Build/Data/device/655491084/data/profile.json create mode 100644 Build/Data/device/655491084/data/profile_offline_1.json create mode 100644 Build/Data/device/655491084/data/profile_offline_2.json create mode 100644 Build/Data/device/655491084/data/profile_offline_3.json create mode 100644 Build/Data/device/655491084/data/profile_offline_std.json create mode 100644 Build/Data/device/655491084/data/profile_online_1.json create mode 100644 Build/Data/device/655491085/config.json create mode 100644 Build/Data/device/655491085/data/keymap.js create mode 100644 Build/Data/device/655491085/data/profile.json create mode 100644 Build/Data/device/655491085/data/profile_offline_1.json create mode 100644 Build/Data/device/655491085/data/profile_offline_2.json create mode 100644 Build/Data/device/655491085/data/profile_offline_3.json create mode 100644 Build/Data/device/655491085/data/profile_offline_std.json create mode 100644 Build/Data/device/655491085/data/profile_online_1.json create mode 100644 Build/Data/device/655491117/config.json create mode 100644 Build/Data/device/655491117/data/keymap.js create mode 100644 Build/Data/device/655491117/data/profile.json create mode 100644 Build/Data/device/655491117/data/profile_offline_1.json create mode 100644 Build/Data/device/655491117/data/profile_offline_2.json create mode 100644 Build/Data/device/655491117/data/profile_offline_3.json create mode 100644 Build/Data/device/655491117/data/profile_offline_std.json create mode 100644 Build/Data/device/655491117/data/profile_online_1.json create mode 100644 Build/Data/device/655491151/config.json create mode 100644 Build/Data/device/655491151/data/keymap.js create mode 100644 Build/Data/device/655491151/data/keymapshow.js create mode 100644 Build/Data/device/655491151/data/profile.json create mode 100644 Build/Data/device/655491151/data/profile_offline_1.json create mode 100644 Build/Data/device/655491151/kb_offline.html create mode 100644 Build/Data/device/655491151/res/css/kb_offline.css create mode 100644 Build/Data/device/655491151/res/js/kb_offline.js create mode 100644 Build/Data/device/655491165/config.json create mode 100644 Build/Data/device/655491165/data/keymap.js create mode 100644 Build/Data/device/655491165/data/profile.json create mode 100644 Build/Data/device/655491165/data/profile_offline_1.json create mode 100644 Build/Data/device/655491165/data/profile_offline_2.json create mode 100644 Build/Data/device/655491165/data/profile_offline_3.json create mode 100644 Build/Data/device/655491165/data/profile_offline_std.json create mode 100644 Build/Data/device/655491165/data/profile_online_1.json create mode 100644 Build/Data/device/655491200/config.json create mode 100644 Build/Data/device/655491200/data/keymap.js create mode 100644 Build/Data/device/655491200/data/profile.json create mode 100644 Build/Data/device/655491200/data/profile_offline_1.json create mode 100644 Build/Data/device/655491200/data/profile_offline_2.json create mode 100644 Build/Data/device/655491200/data/profile_offline_3.json create mode 100644 Build/Data/device/655491200/data/profile_offline_std.json create mode 100644 Build/Data/device/655491200/data/profile_online_1.json create mode 100644 Build/Data/device/655491238/config.json create mode 100644 Build/Data/device/655491238/data/keymap.js create mode 100644 Build/Data/device/655491238/data/profile.json create mode 100644 Build/Data/device/655491238/data/profile_offline_1.json create mode 100644 Build/Data/device/655491238/data/profile_offline_2.json create mode 100644 Build/Data/device/655491238/data/profile_offline_3.json create mode 100644 Build/Data/device/655491238/data/profile_offline_std.json create mode 100644 Build/Data/device/655491238/data/profile_online_1.json create mode 100644 Build/Data/device/655491239/config.json create mode 100644 Build/Data/device/655491239/data/keymap.js create mode 100644 Build/Data/device/655491239/data/profile.json create mode 100644 Build/Data/device/655491239/data/profile_offline_1.json create mode 100644 Build/Data/device/655491239/data/profile_offline_2.json create mode 100644 Build/Data/device/655491239/data/profile_offline_3.json create mode 100644 Build/Data/device/655491239/data/profile_offline_std.json create mode 100644 Build/Data/device/655491239/data/profile_online_1.json create mode 100644 Build/Data/device/655491246/config.json create mode 100644 Build/Data/device/655491246/data/keymap.js create mode 100644 Build/Data/device/655491246/data/profile.json create mode 100644 Build/Data/device/655491246/data/profile_offline_1.json create mode 100644 Build/Data/device/655491246/data/profile_offline_2.json create mode 100644 Build/Data/device/655491246/data/profile_offline_3.json create mode 100644 Build/Data/device/655491246/data/profile_offline_std.json create mode 100644 Build/Data/device/655491246/data/profile_online_1.json create mode 100644 Build/Data/device/655491247/config.json create mode 100644 Build/Data/device/655491247/data/keymap.js create mode 100644 Build/Data/device/655491247/data/profile.json create mode 100644 Build/Data/device/655491247/data/profile_offline_1.json create mode 100644 Build/Data/device/655491247/data/profile_offline_2.json create mode 100644 Build/Data/device/655491247/data/profile_offline_3.json create mode 100644 Build/Data/device/655491247/data/profile_offline_std.json create mode 100644 Build/Data/device/655491247/data/profile_online_1.json create mode 100644 Build/Data/device/655491248/config.json create mode 100644 Build/Data/device/655491248/data/keymap.js create mode 100644 Build/Data/device/655491248/data/profile.json create mode 100644 Build/Data/device/655491248/data/profile_offline_1.json create mode 100644 Build/Data/device/655491248/data/profile_offline_2.json create mode 100644 Build/Data/device/655491248/data/profile_offline_3.json create mode 100644 Build/Data/device/655491248/data/profile_offline_std.json create mode 100644 Build/Data/device/655491248/data/profile_online_1.json create mode 100644 Build/Data/device/655491249/config.json create mode 100644 Build/Data/device/655491249/data/keymap.js create mode 100644 Build/Data/device/655491249/data/profile.json create mode 100644 Build/Data/device/655491249/data/profile_offline_1.json create mode 100644 Build/Data/device/655491249/data/profile_offline_2.json create mode 100644 Build/Data/device/655491249/data/profile_offline_3.json create mode 100644 Build/Data/device/655491249/data/profile_offline_std.json create mode 100644 Build/Data/device/655491249/data/profile_online_1.json create mode 100644 Build/Data/device/655491249/img/img.zip create mode 100644 Build/Data/device/656801793/config.json create mode 100644 Build/Data/device/656801793/data/keymap.js create mode 100644 Build/Data/device/656801793/data/profile.json create mode 100644 Build/Data/device/656801793/data/profile_offline_1.json create mode 100644 Build/Data/device/656801793/data/profile_offline_2.json create mode 100644 Build/Data/device/656801793/data/profile_offline_3.json create mode 100644 Build/Data/device/656801793/data/profile_offline_std.json create mode 100644 Build/Data/device/656801793/data/profile_online_1.json create mode 100644 Build/Data/device/656801795/config.json create mode 100644 Build/Data/device/656801795/data/keymap.js create mode 100644 Build/Data/device/656801795/data/profile.json create mode 100644 Build/Data/device/656801795/data/profile_offline_1.json create mode 100644 Build/Data/device/656801795/data/profile_offline_2.json create mode 100644 Build/Data/device/656801795/data/profile_offline_3.json create mode 100644 Build/Data/device/656801795/data/profile_offline_std.json create mode 100644 Build/Data/device/656801795/data/profile_online_1.json create mode 100644 Build/Data/device/656801796/config.json create mode 100644 Build/Data/device/656801796/data/keymap.js create mode 100644 Build/Data/device/656801796/data/profile.json create mode 100644 Build/Data/device/656801796/data/profile_offline_1.json create mode 100644 Build/Data/device/656801796/data/profile_offline_2.json create mode 100644 Build/Data/device/656801796/data/profile_offline_3.json create mode 100644 Build/Data/device/656801796/data/profile_offline_std.json create mode 100644 Build/Data/device/656801796/data/profile_online_1.json create mode 100644 Build/Data/device/656801797/config.json create mode 100644 Build/Data/device/656801797/data/keymap.js create mode 100644 Build/Data/device/656801797/data/profile.json create mode 100644 Build/Data/device/656801797/data/profile_offline_1.json create mode 100644 Build/Data/device/656801797/data/profile_offline_2.json create mode 100644 Build/Data/device/656801797/data/profile_offline_3.json create mode 100644 Build/Data/device/656801797/data/profile_offline_std.json create mode 100644 Build/Data/device/656801797/data/profile_online_1.json create mode 100644 Build/Data/device/656801798/config.json create mode 100644 Build/Data/device/656801798/data/keymap.js create mode 100644 Build/Data/device/656801798/data/profile.json create mode 100644 Build/Data/device/656801798/data/profile_offline_1.json create mode 100644 Build/Data/device/656801798/data/profile_offline_2.json create mode 100644 Build/Data/device/656801798/data/profile_offline_3.json create mode 100644 Build/Data/device/656801798/data/profile_offline_std.json create mode 100644 Build/Data/device/656801798/data/profile_online_1.json create mode 100644 Build/Data/device/656801800/config.json create mode 100644 Build/Data/device/656801800/data/keymap.js create mode 100644 Build/Data/device/656801800/data/profile.json create mode 100644 Build/Data/device/656801800/data/profile_offline_1.json create mode 100644 Build/Data/device/656801800/data/profile_offline_2.json create mode 100644 Build/Data/device/656801800/data/profile_offline_3.json create mode 100644 Build/Data/device/656801800/data/profile_offline_std.json create mode 100644 Build/Data/device/656801800/data/profile_online_1.json create mode 100644 Build/Data/device/656801801/config.json create mode 100644 Build/Data/device/656801801/data/keymap.js create mode 100644 Build/Data/device/656801801/data/profile.json create mode 100644 Build/Data/device/656801801/data/profile_offline_1.json create mode 100644 Build/Data/device/656801801/data/profile_offline_2.json create mode 100644 Build/Data/device/656801801/data/profile_offline_3.json create mode 100644 Build/Data/device/656801801/data/profile_offline_std.json create mode 100644 Build/Data/device/656801801/data/profile_online_1.json create mode 100644 Build/Data/device/656801802/config.json create mode 100644 Build/Data/device/656801802/data/keymap.js create mode 100644 Build/Data/device/656801802/data/profile.json create mode 100644 Build/Data/device/656801802/data/profile_offline_1.json create mode 100644 Build/Data/device/656801802/data/profile_offline_2.json create mode 100644 Build/Data/device/656801802/data/profile_offline_3.json create mode 100644 Build/Data/device/656801802/data/profile_offline_std.json create mode 100644 Build/Data/device/656801802/data/profile_online_1.json create mode 100644 Build/Data/device/modellist.json create mode 100644 Build/Data/i18n/langs/de.json create mode 100644 Build/Data/i18n/langs/en.json create mode 100644 Build/Data/i18n/langs/es.json create mode 100644 Build/Data/i18n/langs/fr.json create mode 100644 Build/Data/i18n/langs/it.json create mode 100644 Build/Data/i18n/langs/ja.json create mode 100644 Build/Data/i18n/langs/ko.json create mode 100644 Build/Data/i18n/langs/zh.json create mode 100644 Build/Data/keys.json create mode 100644 Build/Data/keys/655491200.txt create mode 100644 Build/Data/lighting/61 Blt Direction key.le create mode 100644 Build/Data/lighting/61 Blt F1-F12.le create mode 100644 Build/Data/lighting/61 Blt Function 9 keys.le create mode 100644 Build/Data/lighting/61 direction key.le create mode 100644 Build/Data/lighting/61-layer2.le create mode 100644 Build/Data/lighting/62 direction key.le create mode 100644 Build/Data/lighting/64 Blt Direction key.le create mode 100644 Build/Data/lighting/64 Blt F1-F12.le create mode 100644 Build/Data/lighting/64 Blt Function 9 keys.le create mode 100644 Build/Data/lighting/64 direction key.le create mode 100644 Build/Data/lighting/68 Blt Direction key.le create mode 100644 Build/Data/lighting/68 Blt F1-F12.le create mode 100644 Build/Data/lighting/68 Blt Function 9 keys.le create mode 100644 Build/Data/lighting/68 Direction key.le create mode 100644 Build/Data/lighting/68 Function 9keys.le create mode 100644 Build/Data/lighting/68 keys F1-F12.le create mode 100644 Build/Data/lighting/7 colors gradual change.le create mode 100644 Build/Data/lighting/81 Direction key.le create mode 100644 Build/Data/lighting/81 Function 9keys.le create mode 100644 Build/Data/lighting/81 Keys F1-F12.le create mode 100644 Build/Data/lighting/84 Calculator.le create mode 100644 Build/Data/lighting/84 Direction key.le create mode 100644 Build/Data/lighting/84 Spectral cycle down.le create mode 100644 Build/Data/lighting/Blue Light.le create mode 100644 Build/Data/lighting/Blue light respiration.le create mode 100644 Build/Data/lighting/Colorful cloud flying.le create mode 100644 Build/Data/lighting/Colorful waterfall.le create mode 100644 Build/Data/lighting/DOTA.le create mode 100644 Build/Data/lighting/Drift collide.le create mode 100644 Build/Data/lighting/F1-F12.le create mode 100644 Build/Data/lighting/Flame.le create mode 100644 Build/Data/lighting/Four seasons as spring.le create mode 100644 Build/Data/lighting/Gradual brighten.le create mode 100644 Build/Data/lighting/Green Light.le create mode 100644 Build/Data/lighting/Green light respiration.le create mode 100644 Build/Data/lighting/LOL.le create mode 100644 Build/Data/lighting/Playerunknown's Battlegrounds.le create mode 100644 Build/Data/lighting/RGB gradient.le create mode 100644 Build/Data/lighting/RGB neon glow.le create mode 100644 Build/Data/lighting/Rainbow wave.le create mode 100644 Build/Data/lighting/Red Light.le create mode 100644 Build/Data/lighting/Red light respiration.le create mode 100644 Build/Data/lighting/Sea Wave.le create mode 100644 Build/Data/lighting/Spectral cycle.le create mode 100644 Build/Data/lighting/Starlish.le create mode 100644 Build/Data/lighting/Stream never stops flowing.le create mode 100644 Build/Data/lighting/Two poles.le create mode 100644 Build/Data/lighting/Violet Light.le create mode 100644 Build/Data/lighting/Walking in the Waves.le create mode 100644 Build/Data/lighting/White Light.le create mode 100644 Build/Data/lighting/White light respiration.le create mode 100644 Build/Data/lighting/Windmill.le create mode 100644 Build/Data/lighting/function 9keys.le create mode 100644 Build/GK6X.exe create mode 100644 Build/HidSharp.dll create mode 100644 Build/HidSharp.xml create mode 100644 Build/KbLog.txt create mode 100644 Build/UserData/655491200.txt create mode 100644 CommandLogger/GK6XLoggerLoader.cpp create mode 100644 CommandLogger/README.md create mode 100644 CommandLogger/min_minhook.h create mode 100644 GK6X.sln create mode 100644 GK6X/BitHelper.cs create mode 100644 GK6X/CMFile.cs create mode 100644 GK6X/CommandLogger.cs create mode 100644 GK6X/Crc16.cs create mode 100644 GK6X/Enums.cs create mode 100644 GK6X/GK6X.csproj create mode 100644 GK6X/HIDSharp/HidSharp.XML create mode 100644 GK6X/HIDSharp/HidSharp.dll create mode 100644 GK6X/HIDSharp/netstandard2.0/HidSharp.XML create mode 100644 GK6X/HIDSharp/netstandard2.0/HidSharp.dll create mode 100644 GK6X/KeyValues.cs create mode 100644 GK6X/KeyboardDevice.cs create mode 100644 GK6X/KeyboardDeviceManager.cs create mode 100644 GK6X/KeyboardState.cs create mode 100644 GK6X/Localization.cs create mode 100644 GK6X/MiniJSON.cs create mode 100644 GK6X/OpCodes.cs create mode 100644 GK6X/Packet.cs create mode 100644 GK6X/Program.cs create mode 100644 GK6X/Properties/AssemblyInfo.cs create mode 100644 GK6X/README.md create mode 100644 GK6X/UserDataFile.cs create mode 100644 README.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4d13c54 --- /dev/null +++ b/.gitignore @@ -0,0 +1,334 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ diff --git a/2.gitignore b/2.gitignore new file mode 100644 index 0000000..075b0b4 --- /dev/null +++ b/2.gitignore @@ -0,0 +1,339 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +#GK6X +/Build/UserData/* +/Build/*.exe +/Build/*.pdb +/Build/*.dll +/Build/*.xml +/Build/KbLog.txt + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ +Binaries diff --git a/Build/Data/device/0/config.json b/Build/Data/device/0/config.json new file mode 100644 index 0000000..7f68b56 --- /dev/null +++ b/Build/Data/device/0/config.json @@ -0,0 +1,11 @@ +{ + "FuncTable":[{ + "id": 10, + "name": "未检测到设备", + "lang": "menu_no_device", + "icon": "el-icon-question", + "component": "/NoDevice", + "visible": true, + "disable": false + }] +} \ No newline at end of file diff --git a/Build/Data/device/1/config.json b/Build/Data/device/1/config.json new file mode 100644 index 0000000..bb90467 --- /dev/null +++ b/Build/Data/device/1/config.json @@ -0,0 +1,11 @@ +{ + "FuncTable":[{ + "id": 10, + "name": "不支持的设备", + "lang": "menu_not_support", + "icon": "el-icon-warning", + "component": "/NotSupport", + "visible": true, + "disable": false + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491084/config.json b/Build/Data/device/655491084/config.json new file mode 100644 index 0000000..60633ba --- /dev/null +++ b/Build/Data/device/655491084/config.json @@ -0,0 +1,96 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 640, + "ShowScalePlus": 0.2, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [23,24,25,26,27,28,29,30,31,32,22,36,33,34] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [47,52,53,54,45,48,49,51,46,50,44,55,56,58] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [67,69,70,71,72,73,74,75,68,79,76,77,66] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [88,100,94,92,96,95,93,91,90,97,98,99,102,101] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [120,110,112,111,121,116,124,122,123] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491084/data/keymap.js b/Build/Data/device/655491084/data/keymap.js new file mode 100644 index 0000000..d5be0b9 --- /dev/null +++ b/Build/Data/device/655491084/data/keymap.js @@ -0,0 +1,706 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 120, + "Position": { + "Left": 740, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 200, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 200, + "Top": 330, + "Width": 119, + "Height": 50 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 336, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 268, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 121, + "Position": { + "Left": 794, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 100, + "Position": { + "Left": 848, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 67, + "Position": { + "Left": 296, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 538, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 430, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 69, + "Position": { + "Left": 404, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 47, + "Position": { + "Left": 392, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 70, + "Position": { + "Left": 458, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 71, + "Position": { + "Left": 512, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 72, + "Position": { + "Left": 566, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 52, + "Position": { + "Left": 662, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 73, + "Position": { + "Left": 620, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 74, + "Position": { + "Left": 674, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 75, + "Position": { + "Left": 728, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 646, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 592, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 53, + "Position": { + "Left": 716, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 54, + "Position": { + "Left": 770, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 45, + "Position": { + "Left": 284, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 48, + "Position": { + "Left": 446, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 68, + "Position": { + "Left": 350, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 49, + "Position": { + "Left": 500, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 51, + "Position": { + "Left": 608, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 484, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 46, + "Position": { + "Left": 338, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 376, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 50, + "Position": { + "Left": 554, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 322, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 23, + "Position": { + "Left": 254, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 24, + "Position": { + "Left": 308, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 25, + "Position": { + "Left": 362, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 26, + "Position": { + "Left": 416, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 27, + "Position": { + "Left": 470, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 28, + "Position": { + "Left": 524, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 29, + "Position": { + "Left": 578, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 30, + "Position": { + "Left": 632, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 31, + "Position": { + "Left": 686, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 32, + "Position": { + "Left": 740, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 79, + "Position": { + "Left": 890, + "Top": 276, + "Width": 116, + "Height": 50 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 22, + "Position": { + "Left": 200, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 902, + "Top": 162, + "Width": 104, + "Height": 50 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 200, + "Top": 218, + "Width": 80, + "Height": 50 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 404, + "Top": 386, + "Width": 332, + "Height": 50 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 33, + "Position": { + "Left": 794, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 34, + "Position": { + "Left": 848, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 55, + "Position": { + "Left": 824, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 56, + "Position": { + "Left": 878, + "Top": 218, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 932, + "Top": 218, + "Width": 74, + "Height": 50 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 76, + "Position": { + "Left": 782, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 77, + "Position": { + "Left": 836, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 700, + "Top": 330, + "Width": 46, + "Height": 50 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 750, + "Top": 330, + "Width": 46, + "Height": 50 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 800, + "Top": 330, + "Width": 44, + "Height": 50 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 200, + "Top": 276, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 102, + "Position": { + "Left": 956, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 124, + "Position": { + "Left": 956, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 122, + "Position": { + "Left": 848, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 123, + "Position": { + "Left": 902, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 101, + "Position": { + "Left": 902, + "Top": 330, + "Width": 50, + "Height": 50 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491084/data/profile.json b/Build/Data/device/655491084/data/profile.json new file mode 100644 index 0000000..ee8d42e --- /dev/null +++ b/Build/Data/device/655491084/data/profile.json @@ -0,0 +1,673 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491084/data/profile_offline_1.json b/Build/Data/device/655491084/data/profile_offline_1.json new file mode 100644 index 0000000..f3c1002 --- /dev/null +++ b/Build/Data/device/655491084/data/profile_offline_1.json @@ -0,0 +1,981 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "71775289-0685-4c00-8F80-5E44FF1E173B", + "Name": "64方向键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00" + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00" + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000" + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100" + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200" + } + ] +} diff --git a/Build/Data/device/655491084/data/profile_offline_2.json b/Build/Data/device/655491084/data/profile_offline_2.json new file mode 100644 index 0000000..c78bade --- /dev/null +++ b/Build/Data/device/655491084/data/profile_offline_2.json @@ -0,0 +1,981 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "642A72E2-037D-43cb-9ABD-BD99F0D26DA9", + "Name": "F1-F12键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00" + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00" + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000" + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100" + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200" + } + ] +} diff --git a/Build/Data/device/655491084/data/profile_offline_3.json b/Build/Data/device/655491084/data/profile_offline_3.json new file mode 100644 index 0000000..61ec3e7 --- /dev/null +++ b/Build/Data/device/655491084/data/profile_offline_3.json @@ -0,0 +1,981 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "64D11D2A-B45D-46b5-87A3-49EE65A5F528", + "Name": "功能9键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00" + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00" + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000" + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100" + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200" + } + ] +} diff --git a/Build/Data/device/655491084/data/profile_offline_std.json b/Build/Data/device/655491084/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491084/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491084/data/profile_online_1.json b/Build/Data/device/655491084/data/profile_online_1.json new file mode 100644 index 0000000..1b02099 --- /dev/null +++ b/Build/Data/device/655491084/data/profile_online_1.json @@ -0,0 +1,678 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491084, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491085/config.json b/Build/Data/device/655491085/config.json new file mode 100644 index 0000000..63bbfc1 --- /dev/null +++ b/Build/Data/device/655491085/config.json @@ -0,0 +1,96 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 610, + "ShowScalePlus": 0.2, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [23,24,25,26,27,28,29,30,31,32,22,36,33,34] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [47,52,53,54,45,48,49,51,46,50,44,55,56,58] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [67,69,70,71,72,73,74,75,68,79,76,77,66] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [88,102,94,92,96,95,93,91,90,97,98,99] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [124,121,110,112,111,122,120,116] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491085/data/keymap.js b/Build/Data/device/655491085/data/keymap.js new file mode 100644 index 0000000..407ef47 --- /dev/null +++ b/Build/Data/device/655491085/data/keymap.js @@ -0,0 +1,732 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 124, + "Position": { + "Left": 902, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 121, + "Position": { + "Left": 766, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 122, + "Position": { + "Left": 834, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 102, + "Position": { + "Left": 822, + "Top": 332, + "Width": 144, + "Height": 50 + } +}, +{ + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 120, + "Position": { + "Left": 698, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 67, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 69, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 47, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 70, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 71, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 72, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 52, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 73, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 74, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 75, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 606, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 53, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 54, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 45, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 48, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 68, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 49, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 51, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 46, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 50, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 23, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 24, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 25, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 26, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 27, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 28, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 29, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 30, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 31, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 32, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 79, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 33, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 34, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 55, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 56, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 76, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 77, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 660, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 714, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 768, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } +}] \ No newline at end of file diff --git a/Build/Data/device/655491085/data/profile.json b/Build/Data/device/655491085/data/profile.json new file mode 100644 index 0000000..9b389b9 --- /dev/null +++ b/Build/Data/device/655491085/data/profile.json @@ -0,0 +1,643 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491085/data/profile_offline_1.json b/Build/Data/device/655491085/data/profile_offline_1.json new file mode 100644 index 0000000..adb4472 --- /dev/null +++ b/Build/Data/device/655491085/data/profile_offline_1.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "423AA6B6-1D6A-4ec9-8F57-FE9E2F11DA31", + "Name": "61方向键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "↓", + "DriverValue": "0x02005100", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "→", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": 7, + "MenuID": 3, + "MenuName": "Layer2", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "←", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "↑", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491085/data/profile_offline_2.json b/Build/Data/device/655491085/data/profile_offline_2.json new file mode 100644 index 0000000..d90dafc --- /dev/null +++ b/Build/Data/device/655491085/data/profile_offline_2.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "BDD42643-67BC-4a7b-9019-E2824F718442", + "Name": "F1-F12键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "App", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": 0, + "MenuID": "", + "MenuName": "/", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+[", + "DriverValue": "0x02002F20", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+]", + "DriverValue": "0x02003020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+\\", + "DriverValue": "0x02003120", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+;", + "DriverValue": "0x02003320", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+'", + "DriverValue": "0x02003420", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+,", + "DriverValue": "0x02003620", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+.", + "DriverValue": "0x02003720", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+/", + "DriverValue": "0x02003820", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491085/data/profile_offline_3.json b/Build/Data/device/655491085/data/profile_offline_3.json new file mode 100644 index 0000000..926f99b --- /dev/null +++ b/Build/Data/device/655491085/data/profile_offline_3.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "64D11D2A-B45D-46b5-87A3-49EE65A5F528", + "Name": "功能9键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491085/data/profile_offline_std.json b/Build/Data/device/655491085/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491085/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491085/data/profile_online_1.json b/Build/Data/device/655491085/data/profile_online_1.json new file mode 100644 index 0000000..62b5a2e --- /dev/null +++ b/Build/Data/device/655491085/data/profile_online_1.json @@ -0,0 +1,724 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491085, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491117/config.json b/Build/Data/device/655491117/config.json new file mode 100644 index 0000000..63bbfc1 --- /dev/null +++ b/Build/Data/device/655491117/config.json @@ -0,0 +1,96 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 610, + "ShowScalePlus": 0.2, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [23,24,25,26,27,28,29,30,31,32,22,36,33,34] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [47,52,53,54,45,48,49,51,46,50,44,55,56,58] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [67,69,70,71,72,73,74,75,68,79,76,77,66] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [88,102,94,92,96,95,93,91,90,97,98,99] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [124,121,110,112,111,122,120,116] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491117/data/keymap.js b/Build/Data/device/655491117/data/keymap.js new file mode 100644 index 0000000..407ef47 --- /dev/null +++ b/Build/Data/device/655491117/data/keymap.js @@ -0,0 +1,732 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 124, + "Position": { + "Left": 902, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 121, + "Position": { + "Left": 766, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 122, + "Position": { + "Left": 834, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 102, + "Position": { + "Left": 822, + "Top": 332, + "Width": 144, + "Height": 50 + } +}, +{ + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 120, + "Position": { + "Left": 698, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 67, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 69, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 47, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 70, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 71, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 72, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 52, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 73, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 74, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 75, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 606, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 53, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 54, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 45, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 48, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 68, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 49, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 51, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 46, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 50, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 23, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 24, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 25, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 26, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 27, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 28, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 29, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 30, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 31, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 32, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 79, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 33, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 34, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 55, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 56, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 76, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 77, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 660, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 714, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 768, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } +}] \ No newline at end of file diff --git a/Build/Data/device/655491117/data/profile.json b/Build/Data/device/655491117/data/profile.json new file mode 100644 index 0000000..9b389b9 --- /dev/null +++ b/Build/Data/device/655491117/data/profile.json @@ -0,0 +1,643 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491117/data/profile_offline_1.json b/Build/Data/device/655491117/data/profile_offline_1.json new file mode 100644 index 0000000..adb4472 --- /dev/null +++ b/Build/Data/device/655491117/data/profile_offline_1.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "423AA6B6-1D6A-4ec9-8F57-FE9E2F11DA31", + "Name": "61方向键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "↓", + "DriverValue": "0x02005100", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "→", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": 7, + "MenuID": 3, + "MenuName": "Layer2", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "←", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "↑", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491117/data/profile_offline_2.json b/Build/Data/device/655491117/data/profile_offline_2.json new file mode 100644 index 0000000..d90dafc --- /dev/null +++ b/Build/Data/device/655491117/data/profile_offline_2.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "BDD42643-67BC-4a7b-9019-E2824F718442", + "Name": "F1-F12键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "App", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": 0, + "MenuID": "", + "MenuName": "/", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+[", + "DriverValue": "0x02002F20", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+]", + "DriverValue": "0x02003020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+\\", + "DriverValue": "0x02003120", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+;", + "DriverValue": "0x02003320", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+'", + "DriverValue": "0x02003420", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+,", + "DriverValue": "0x02003620", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+.", + "DriverValue": "0x02003720", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+/", + "DriverValue": "0x02003820", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491117/data/profile_offline_3.json b/Build/Data/device/655491117/data/profile_offline_3.json new file mode 100644 index 0000000..926f99b --- /dev/null +++ b/Build/Data/device/655491117/data/profile_offline_3.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "64D11D2A-B45D-46b5-87A3-49EE65A5F528", + "Name": "功能9键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491117/data/profile_offline_std.json b/Build/Data/device/655491117/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491117/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491117/data/profile_online_1.json b/Build/Data/device/655491117/data/profile_online_1.json new file mode 100644 index 0000000..4de882b --- /dev/null +++ b/Build/Data/device/655491117/data/profile_online_1.json @@ -0,0 +1,724 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491117, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491151/config.json b/Build/Data/device/655491151/config.json new file mode 100644 index 0000000..697fd6c --- /dev/null +++ b/Build/Data/device/655491151/config.json @@ -0,0 +1,27 @@ +{ + "LeCate": 1760, + "FuncTable":[{ + "Func": "kb_offline", + "Name": "title_setting", + "Type": 1, + "Icon": true, + "Compact": 0, + "Disabe": 0 + }, + { + "Func": "le", + "Name": "title_diy_lamp", + "Type": 0, + "Icon": true, + "Compact": 0, + "Disabe": 0 + }, + { + "Func": "sys_le", + "Name": "title_sys_le", + "Type": 0, + "Icon": true, + "Compact": 0, + "Disabe": 0 + }] +} diff --git a/Build/Data/device/655491151/data/keymap.js b/Build/Data/device/655491151/data/keymap.js new file mode 100644 index 0000000..be04c4f --- /dev/null +++ b/Build/Data/device/655491151/data/keymap.js @@ -0,0 +1,1938 @@ +[{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 0, + "Position": { + "Left": 100, + "Top": 40, + "Width": 574, + "Height": 36 + } + },{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 1, + "Position": { + "Left": 100, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 2, + "Position": { + "Left": 136, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 3, + "Position": { + "Left": 172, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 4, + "Position": { + "Left": 208, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 5, + "Position": { + "Left": 244, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 6, + "Position": { + "Left": 280, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 7, + "Position": { + "Left": 316, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 8, + "Position": { + "Left": 352, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 9, + "Position": { + "Left": 388, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 10, + "Position": { + "Left": 424, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 11, + "Position": { + "Left": 460, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 12, + "Position": { + "Left": 496, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 13, + "Position": { + "Left": 532, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 14, + "Position": { + "Left": 568, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 15, + "Position": { + "Left": 604, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 16, + "Position": { + "Left": 640, + "Top": 90, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 100, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 136, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 19, + "Position": { + "Left": 172, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 20, + "Position": { + "Left": 208, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 21, + "Position": { + "Left": 244, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 22, + "Position": { + "Left": 280, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 23, + "Position": { + "Left": 316, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 24, + "Position": { + "Left": 352, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 25, + "Position": { + "Left": 388, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 26, + "Position": { + "Left": 424, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 27, + "Position": { + "Left": 460, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 28, + "Position": { + "Left": 496, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 29, + "Position": { + "Left": 532, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 30, + "Position": { + "Left": 568, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 31, + "Position": { + "Left": 604, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 32, + "Position": { + "Left": 640, + "Top": 140, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 33, + "Position": { + "Left": 100, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 34, + "Position": { + "Left": 136, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 35, + "Position": { + "Left": 172, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 36, + "Position": { + "Left": 208, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 244, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 38, + "Position": { + "Left": 280, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 316, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 352, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 41, + "Position": { + "Left": 388, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 42, + "Position": { + "Left": 424, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 43, + "Position": { + "Left": 460, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 44, + "Position": { + "Left": 496, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 45, + "Position": { + "Left": 532, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 46, + "Position": { + "Left": 568, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 47, + "Position": { + "Left": 604, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 48, + "Position": { + "Left": 640, + "Top": 190, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 49, + "Position": { + "Left": 100, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 50, + "Position": { + "Left": 136, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 51, + "Position": { + "Left": 172, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 52, + "Position": { + "Left": 208, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 53, + "Position": { + "Left": 244, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 54, + "Position": { + "Left": 280, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 55, + "Position": { + "Left": 316, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 56, + "Position": { + "Left": 352, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 57, + "Position": { + "Left": 388, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 58, + "Position": { + "Left": 424, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 460, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 60, + "Position": { + "Left": 496, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 532, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 568, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 63, + "Position": { + "Left": 604, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 64, + "Position": { + "Left": 640, + "Top": 240, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 65, + "Position": { + "Left": 100, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 136, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 172, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 208, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 244, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 280, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 316, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 352, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 388, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 424, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 460, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 496, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 532, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 568, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 604, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 640, + "Top": 290, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 100, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 136, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 172, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 208, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 244, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 280, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 316, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 352, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 388, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 424, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 460, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 496, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 532, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 568, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 604, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 640, + "Top": 340, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 100, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 136, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 172, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 208, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 244, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 280, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 316, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 352, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 388, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 424, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 460, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 496, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 532, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 568, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 604, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 640, + "Top": 390, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 100, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 136, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 172, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 208, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 244, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 280, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 316, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 352, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 388, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 424, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 460, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 496, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 532, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 568, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 604, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 640, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 676, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 712, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 748, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 784, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 820, + "Top": 440, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 154, + "Position": { + "Left": 100, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 153, + "Position": { + "Left": 136, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 152, + "Position": { + "Left": 172, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 151, + "Position": { + "Left": 208, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 150, + "Position": { + "Left": 244, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 149, + "Position": { + "Left": 280, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 148, + "Position": { + "Left": 316, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 147, + "Position": { + "Left": 352, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 146, + "Position": { + "Left": 388, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 145, + "Position": { + "Left": 424, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 144, + "Position": { + "Left": 460, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 143, + "Position": { + "Left": 496, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 142, + "Position": { + "Left": 532, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 141, + "Position": { + "Left": 568, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 140, + "Position": { + "Left": 604, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 139, + "Position": { + "Left": 640, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 138, + "Position": { + "Left": 676, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 712, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 748, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 784, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 820, + "Top": 490, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 155, + "Position": { + "Left": 100, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 156, + "Position": { + "Left": 136, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 157, + "Position": { + "Left": 172, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 158, + "Position": { + "Left": 208, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 159, + "Position": { + "Left": 244, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 160, + "Position": { + "Left": 280, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 161, + "Position": { + "Left": 316, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 162, + "Position": { + "Left": 352, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 163, + "Position": { + "Left": 388, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 164, + "Position": { + "Left": 424, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 165, + "Position": { + "Left": 460, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 166, + "Position": { + "Left": 496, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 167, + "Position": { + "Left": 532, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 168, + "Position": { + "Left": 568, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 169, + "Position": { + "Left": 604, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 170, + "Position": { + "Left": 640, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 171, + "Position": { + "Left": 676, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 172, + "Position": { + "Left": 712, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 173, + "Position": { + "Left": 748, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 174, + "Position": { + "Left": 784, + "Top": 540, + "Width": 36, + "Height": 36 + } + }, { + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 175, + "Position": { + "Left": 820, + "Top": 540, + "Width": 36, + "Height": 36 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491151/data/keymapshow.js b/Build/Data/device/655491151/data/keymapshow.js new file mode 100644 index 0000000..2d1b71a --- /dev/null +++ b/Build/Data/device/655491151/data/keymapshow.js @@ -0,0 +1,2224 @@ +[{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 0, + "Position": { + "Left": 100, + "Top": 14, + "Width": 200, + "Height": 200 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 1, + "Position": { + "Left": 326, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 2, + "Position": { + "Left": 340, + "Top": 48, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 3, + "Position": { + "Left": 356, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 4, + "Position": { + "Left": 388, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 5, + "Position": { + "Left": 420, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 6, + "Position": { + "Left": 454, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 7, + "Position": { + "Left": 478, + "Top": 56, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 8, + "Position": { + "Left": 498, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 9, + "Position": { + "Left": 498, + "Top": 114, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 10, + "Position": { + "Left": 486, + "Top": 148, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 11, + "Position": { + "Left": 452, + "Top": 180, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 12, + "Position": { + "Left": 420, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 13, + "Position": { + "Left": 386, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 14, + "Position": { + "Left": 354, + "Top": 178, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 15, + "Position": { + "Left": 330, + "Top": 154, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 16, + "Position": { + "Left": 326, + "Top": 112, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 546, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 560, + "Top": 48, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 19, + "Position": { + "Left": 576, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 20, + "Position": { + "Left": 608, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 21, + "Position": { + "Left": 640, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 22, + "Position": { + "Left": 674, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 23, + "Position": { + "Left": 698, + "Top": 56, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 24, + "Position": { + "Left": 718, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 25, + "Position": { + "Left": 718, + "Top": 114, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 26, + "Position": { + "Left": 706, + "Top": 148, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 27, + "Position": { + "Left": 672, + "Top": 180, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 28, + "Position": { + "Left": 640, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 29, + "Position": { + "Left": 606, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 30, + "Position": { + "Left": 574, + "Top": 178, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 31, + "Position": { + "Left": 550, + "Top": 154, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 32, + "Position": { + "Left": 546, + "Top": 112, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 33, + "Position": { + "Left": 766, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 34, + "Position": { + "Left": 780, + "Top": 48, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 35, + "Position": { + "Left": 796, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 36, + "Position": { + "Left": 828, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 860, + "Top": 18, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 38, + "Position": { + "Left": 894, + "Top": 32, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 918, + "Top": 56, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 938, + "Top": 80, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 41, + "Position": { + "Left": 938, + "Top": 114, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 42, + "Position": { + "Left": 926, + "Top": 148, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 43, + "Position": { + "Left": 892, + "Top": 180, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 44, + "Position": { + "Left": 860, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 45, + "Position": { + "Left": 826, + "Top": 192, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 46, + "Position": { + "Left": 794, + "Top": 178, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 47, + "Position": { + "Left": 770, + "Top": 154, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 48, + "Position": { + "Left": 766, + "Top": 112, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 49, + "Position": { + "Left": 106, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 50, + "Position": { + "Left": 120, + "Top": 258, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 51, + "Position": { + "Left": 136, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 52, + "Position": { + "Left": 168, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 53, + "Position": { + "Left": 200, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 54, + "Position": { + "Left": 234, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 55, + "Position": { + "Left": 258, + "Top": 266, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 56, + "Position": { + "Left": 278, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 57, + "Position": { + "Left": 278, + "Top": 324, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 58, + "Position": { + "Left": 266, + "Top": 358, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 232, + "Top": 390, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 60, + "Position": { + "Left": 200, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 166, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 134, + "Top": 388, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 63, + "Position": { + "Left": 110, + "Top": 364, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 64, + "Position": { + "Left": 106, + "Top": 322, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 65, + "Position": { + "Left": 326, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 340, + "Top": 258, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 356, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 388, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 420, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 454, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 478, + "Top": 266, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 498, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 498, + "Top": 324, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 486, + "Top": 358, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 452, + "Top": 390, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 420, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 386, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 354, + "Top": 388, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 330, + "Top": 364, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 326, + "Top": 322, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 546, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 560, + "Top": 258, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 576, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 608, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 640, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 674, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 698, + "Top": 266, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 718, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 718, + "Top": 324, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 706, + "Top": 358, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 672, + "Top": 390, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 640, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 606, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 574, + "Top": 388, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 550, + "Top": 364, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 546, + "Top": 322, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 766, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": 12 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 780, + "Top": 258, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 796, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": -36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 828, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 860, + "Top": 228, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 894, + "Top": 242, + "Width": 34, + "Height": 18, + "Rotate": 30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 918, + "Top": 266, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 938, + "Top": 290, + "Width": 18, + "Height": 34, + "Rotate": -14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 938, + "Top": 324, + "Width": 18, + "Height": 34, + "Rotate": 14 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 926, + "Top": 358, + "Width": 18, + "Height": 34, + "Rotate": 36 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 892, + "Top": 390, + "Width": 34, + "Height": 18, + "Rotate": -30 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 860, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 826, + "Top": 402, + "Width": 34, + "Height": 18, + "Rotate": 10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 794, + "Top": 388, + "Width": 34, + "Height": 18, + "Rotate": 32 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 770, + "Top": 364, + "Width": 34, + "Height": 18, + "Rotate": 55 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 766, + "Top": 322, + "Width": 18, + "Height": 34, + "Rotate": -10 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 100, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 140, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 180, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 220, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 260, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 300, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 340, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 380, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 420, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 460, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 500, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 540, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 580, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 620, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 660, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 700, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 740, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 780, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 820, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 860, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 900, + "Top": 436, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 154, + "Position": { + "Left": 100, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 153, + "Position": { + "Left": 140, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 152, + "Position": { + "Left": 180, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 151, + "Position": { + "Left": 220, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 150, + "Position": { + "Left": 260, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 149, + "Position": { + "Left": 300, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 148, + "Position": { + "Left": 340, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 147, + "Position": { + "Left": 380, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 146, + "Position": { + "Left": 420, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 145, + "Position": { + "Left": 460, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 144, + "Position": { + "Left": 500, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 143, + "Position": { + "Left": 540, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 142, + "Position": { + "Left": 580, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 141, + "Position": { + "Left": 620, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 140, + "Position": { + "Left": 660, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 139, + "Position": { + "Left": 700, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 138, + "Position": { + "Left": 740, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 780, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 820, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 860, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 900, + "Top": 492, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 155, + "Position": { + "Left": 100, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 156, + "Position": { + "Left": 140, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 157, + "Position": { + "Left": 180, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 158, + "Position": { + "Left": 220, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 159, + "Position": { + "Left": 260, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 160, + "Position": { + "Left": 300, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 161, + "Position": { + "Left": 340, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 162, + "Position": { + "Left": 380, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 163, + "Position": { + "Left": 420, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 164, + "Position": { + "Left": 460, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 165, + "Position": { + "Left": 500, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 166, + "Position": { + "Left": 540, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 167, + "Position": { + "Left": 580, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 168, + "Position": { + "Left": 620, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 169, + "Position": { + "Left": 660, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 170, + "Position": { + "Left": 700, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 171, + "Position": { + "Left": 740, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 172, + "Position": { + "Left": 780, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 173, + "Position": { + "Left": 820, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 174, + "Position": { + "Left": 860, + "Top": 548, + "Width": 40, + "Height": 40 + } +}, +{ + "KeyName": "", + "Show": "", + "LogicCode": -1, + "LocationCode": 175, + "Position": { + "Left": 900, + "Top": 548, + "Width": 40, + "Height": 40 + } +}] \ No newline at end of file diff --git a/Build/Data/device/655491151/data/profile.json b/Build/Data/device/655491151/data/profile.json new file mode 100644 index 0000000..aa6347e --- /dev/null +++ b/Build/Data/device/655491151/data/profile.json @@ -0,0 +1,38 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491151, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LEData": { + + } + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491151/data/profile_offline_1.json b/Build/Data/device/655491151/data/profile_offline_1.json new file mode 100644 index 0000000..851701a --- /dev/null +++ b/Build/Data/device/655491151/data/profile_offline_1.json @@ -0,0 +1,31 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491151, + "Application": { + "AppName": "", + "AppPath": "" + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491151/kb_offline.html b/Build/Data/device/655491151/kb_offline.html new file mode 100644 index 0000000..74e4752 --- /dev/null +++ b/Build/Data/device/655491151/kb_offline.html @@ -0,0 +1,113 @@ + + + + + + + + + + + +
+
+ + +
+
+
+ + +
+
+
+
+
+

+ 灯光列表 +

+ +
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ +
+

当前颜色

+
+
+
+
+

经典

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+

颜色参数设置

+
+
+ +
+
颜色参数: 单色
+
颜色参数: 呼吸
+
颜色参数: RGB
+
+
+
+
+
+
+
+ +
+
+ + + + + + + diff --git a/Build/Data/device/655491151/res/css/kb_offline.css b/Build/Data/device/655491151/res/css/kb_offline.css new file mode 100644 index 0000000..6778fe0 --- /dev/null +++ b/Build/Data/device/655491151/res/css/kb_offline.css @@ -0,0 +1,797 @@ + +.combination-lamp { + float: left; + width: 13px; + height: 13px; + margin-top: 11px; + margin-right: 10px; + background-image: url("../../../../res/img/combination.png"); +} +.btn-apply { + position: absolute; + bottom: 15px; + right: 20px; + width: 90px; +} + +.btn-remove { + margin: 20px 0; +} + +.file{ + height: 80px; + width: 100%; +} +.ol_content{ + display: flex; + width: 100%; + height: 670px; +} +.ol_left{ + margin-left: 10px; +} +.tab-list{ + display: flex; +} +.tab-list>.active{ + width: 410px; + height: 41px; + margin: 2px 1px 0 1px; + background-color: rgb(29,29,29); + color: #fff; +} +.ol_left_menu{ + width: 410px; + height: 43px; + background-color: #000; +} +.ol_left_menu>li{ + display: inline-block; + float: left; + width: 410px; + height: 41px; + margin-top: 2px; + line-height: 41px; + font-size: 14px; + text-align: center; + color: #626262; + cursor: default; +} +.ol_func{ + width: 410px; + height: 627px; + display: flex; + flex-direction: column; + flex-wrap: wrap; +} + +.ol_func .button-got{ + height:68px; + width: 68px; + box-sizing: border-box; + border: 1px solid #202020; + background: url('../../../res/img/halo.png') no-repeat; + background-position:center;; + font-size:16px; + line-height:68px; + text-align: center; + color:#fff; +} +.tools_1_func{ + float: left; + width: 68px; + height: 480px; + padding-top: 10px; + border:1px solid #1f1f1f; + border-top:0; + -webkit-box-shadow: 0 0 1px 1px #000; + -moz-box-shadow: 0 0 1px 1px #000; + box-shadow: 0 0 1px 1px #000; + background-color: #000; +} +.tools_1_le{ + float: left; + width: 68px; + height: 618px; + padding-top: 10px; + border:1px solid #1f1f1f; + border-top:0; + -webkit-box-shadow: 0 0 1px 1px #000; + -moz-box-shadow: 0 0 1px 1px #000; + box-shadow: 0 0 1px 1px #000; + background-color: #000; +} +.tools_2{ + width: 335px; + height: 627px; + margin-left: 5px; + padding-top: 15px; + background-color: rgba(18,18,18,.5); +} + +.tools_2 .functions{ + display: none; + flex-direction: column; + justify-content: flex-start; + padding:0 10px; + height: 607px; +} + +.functions .func-setting { + width: 100%; + height: 450px; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.functions .confirm{ + display: flex; + width: 100%; + height: 80px; + justify-content: center; + align-items: center; + +} + +.tools_2 .title{ + color: #5E5D5F; + font-size: 16px; + height: 37px; + line-height: 37px; + margin: 5px 0; +} +.title-left{ + float: left; +} +.title-right{ + float: right; +} +.tools_2 .functions .now-button{ + width:100%; + height:32px; + background-color:#060606; +} + +.tools_2 .functions .now-button-input{ + width:266px; + height:32px; + background-color: #000; + text-align: center; + line-height:32px; + font-size:14px; + color:#fff; + border: 1px solid #000; +} +.tools_2 .functions .macro-back { + color: #00c2ff; + cursor: pointer; +} +.macro-play-time{ + background-color: #000; + text-align: center; + font-size:14px; + color:#fff; + border: 1px solid #000; + width: 50px; +} +.tools_2 .functions .func-setting .menu-list{ + width: 310px; + height: 300px; + overflow-x: hidden; + overflow-y: auto; +} +.tools_2 .functions .func-setting .menu-list ul{ + width: 290px; + height: 100%; + margin: 0px 8px; + flex-direction: column; +} + +.tools_2 .functions .func-setting .menu-list .menu-item{ + width: 100%; + height: 30px; + opacity: 0.75; + padding: 2.5px 0px 2.5px 8px; + margin: 2px 0; + color: #fff; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.tools_2 .functions .func-setting .menu-list .selected{ + outline: 2px solid #002cff; +} + +.tools_2 .functions .func-setting .menu-list .menu-item-dir{ + background-color: #393939; + opacity: 0.75; +} + +.tools_2 .functions .func-setting .menu-list .menu-item-file{ + background-color: #1c1c1c; +} + +.tools_2 .functions .func-setting .menu-list .menu-item>img{ + width: 25px; + height: 25px; + margin-right: 10px; +} + +.tools_2 .functions .func-setting .menu-list span{ + cursor: default; + font-size: 14px; + line-height: 14px; + width: 250px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.tools_2 .functions .func-static-lelist .static-lelist .selected{ + outline: 2px solid #002cff; +} + +.tools_2 .functions .func-static-lelist .static-lelist .menu-item{ + width: 100%; + height: 30px; + opacity: 0.75; + padding: 2.5px 10px; + margin: 2px 0; + color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} + +.tools_2 .functions .func-static-lelist .static-lelist .menu-item-light{ + background-color: #000; + border-radius: 3px; +} + +.tools_2 .functions .func-static-lelist .static-lelist .menu-item-light:hover{ + outline: 2px solid #00c2ff; +} + +.tools_2 .functions .func-static-lelist .static-lelist span{ + cursor: default; + font-size: 14px; + line-height: 14px; +} + +.tools_2 .functions .func-setting .menu-list .menu-item-light{ + background-color: #000; + border-radius: 3px; +} + +.tools_2 .functions .func-setting .menu-list .menu-item-light:hover{ + outline: 2px solid #00c2ff; +} + +.tools_2 .functions .func-setting .menu-list .menu-item .input-text{ + width: 120px; + font-size: 13px; + text-align: right; + vertical-align: middle; + color: #666; + background-color: transparent; + border: 0; +} +.tools_2 .functions .func-setting .menu-list .menu-item .ar-act{ + display: inline-block; + cursor: pointer; + width: 30px; + height: 30px; + background-image: url("../../../../res/img/add.png"); +} +.tools_2 .functions .func-setting .menu-list .menu-item .ar-blk{ + display: inline-block; + cursor: pointer; + width: 30px; + height: 30px; + background-image: url("../../../../res/img/delete.png"); +} + +::-webkit-scrollbar{ + width: 10px; + background-color: #414141; +} +::-webkit-scrollbar-track{ + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + border-radius: 5px; + background-color: #414141; +} +::-webkit-scrollbar-thumb{ + border-radius: 5px; + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); + background-color: #787878; +} +::-webkit-scrollbar-thumb:hover { + background-color:#787878; +} +::-webkit-scrollbar-thumb:active { + background-color:#787878; +} + +.tools_2 .functions .func-items{ + display: flex; + flex-direction: column; + justify-content:center; + align-items:flex-start; + -webkit-user-select: none; + cursor: default; +} + +.tools_2 .functions .func-items>.func-item{ + display: flex; + flex-direction: row; + flex-wrap:nowrap; + margin: 5px 0px; + align-items:center; + -webkit-user-select: none; + cursor: default; +} +.tools_2 .functions .func-items>.func-item>p{ + margin: 0 5px; + color:#5e5e5e; + font-size: 14px; +} +.tools_2 .functions .func-shortcut{ + display: flex; +} +.tools_2 .functions .func-shortcut .exe-link{ + background-color: #060606; + width:228px; + height:34px; +} +.tools_2 .functions .func-shortcut .exe-link>input{ + background-color: #060606; + border: 0; + width: 100%; + height: 100%; + color:#fff; + text-align: center; + font-size: 14px; +} +.tools_2 .functions .func-shortcut .exe-add{ + width:35px; + height:34px; + margin-left:5px; +} +.tools_2 .functions .func-forbidden{ + width:267px; + height:32px; + background-color:#060606; + text-align: center; + color:#fff; + font-size:14px; + line-height: 32px; + +} + +.ol_right{ + position:relative; +} + +.button-active { + border-radius: 3px; + box-sizing: border-box; + -webkit-box-shadow: 0px 0px 2px 2px #FC6621; + background-color: rgba(252, 102, 33, 0.3); +} + +.button-hover{ + border:0px solid #ff00ff!important; + box-sizing: border-box!important; + border-radius: 3px; + -webkit-box-shadow:0px 0px 0px 2px #ff00ff!important; +} + +.border{ + -webkit-box-shadow: 0px -2px 0px 0px #25bcec; +} +.show-function{ + position: absolute; + height: 30px; + width: 120px; + -webkit-border-radius: 6px; + background-color: #ff6600; + top: 0; + left: 0; + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + z-index: 99; + -webkit-user-select: none; +} +.show-function::after{ + content:''; + width:0; + height:0; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #ff6600; + left:0; + margin-left:53px; + top: 30px; + position: absolute; +} +.show-function>.show-function-content{ + position: relative; + display: flex; + width: 100%; + color:#fff; + flex-direction: row; + justify-content:center; + align-items: center; + font-size:12px; + cursor: pointer; +} +.show-function>.show-function-content>.text{ + width: 60px; + padding: 0 5px; + height: 100%; + text-align: center; + line-height: 30px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: block; +} + +.show-function>.show-function-content>.remove{ + width:17px; + height:19px; + margin:3px; + box-sizing: border-box; + background: url('../../../../res/img/button_delete.png')no-repeat; + background-position: center; +} + +.show-F9{ + position: absolute; + width:180px; + height:34px; + background-color: #414141; + outline: 1px solid #ffbf00; + top:0px; + left:500px; + display:none; + flex-direction: row; + justify-content: space-around; + align-items: center; + z-index:3; + -webkit-user-select: none; +} +.show-F9>li{ + width: 33px; + height: 30px; + margin: 1px; + border-top: 2px solid #626262; + border-right: 2px solid #0c0b0b; + border-bottom: 2px solid #0b0a0a; + border-left: 2px solid #0d0c0c; + display: flex; + flex-direction: row; + align-items:center; + justify-content: center; + font-size: 14px; + cursor: default; +} +.show-F9::after{ + content:''; + width:0; + height:0; + border-left: 12px solid transparent; + border-right: 12px solid transparent; + border-top: 16px solid #ffbf00; + left:0; + margin-left:78px; + top: 34px; + position: absolute; +} +.bottom-navs{ + position: absolute; + bottom: 0; + left: 0; + display: flex; + flex-direction: row; + width: 860px; + height: 128px; + background-color: rgba(18,18,18,.6); + box-sizing: border-box; + overflow: hidden; +} + +.bottom-navs>.color-picker{ + display: flex; + flex-direction: row; + width: 320px; + height: 126px; + box-sizing: border-box; + border-right: 1px solid #000; +} +.color-selected{ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 190px; + height: 100%; +} +.color-selected p{ + color: #4a4a4a; + text-align: center; + font-size: 14px; + width: 98px; + margin-bottom: 10px; +} +.current-color{ + width: 110px; + height: 40px; + background-color: #ff0000; +} + +.bottom-navs>.colors{ + width:322px; + height:100%; + border-right: 1px solid #000; +} +.bottom-navs>.colors>.title{ + font-size:14px; + color:#4a4a4a; + text-align: center; + margin-left:15px; + position: relative; +} + +.bottom-navs>.colors>.items{ + position: relative; + margin-top:7px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + overflow: hidden; +} +.bottom-navs>.colors>.items>.item{ + margin: 0 6px 6px 6px; + width: 24px; + height: 24px; + border-radius: 50%; +} +.bottom-navs>.colors>.items>.item:hover{ + cursor: pointer; +} +.red{ + background-color: #f00; +} +.orange{ + background-color: #fff100; +} +.yellow{ + background-color: #00ff0c; +} +.green{ + background-color: #00ffea; +} +.white{ + background-color: #0007ff; +} +.cyan{ + background-color: #ff008e; +} +.blue{ + background-color: #cc0019; +} +.purple{ + background-color: #ff2a00; +} +.pink{ + background-color: #ff7200; +} +.black{ + background-color: #ffc000; +} +.redo{ + background-color: #f9ff00; +} +.orangeo{ + background-color: #8aff00; +} +.yellowo{ + background-color: #00ff4e; +} +.greeno{ + background-color: #00ff4e; +} +.whiteo{ + background-color: #00a59b; +} +.cyano{ + background-color: #14ae67; +} +.blueo{ + background-color: #28a7e1; +} +.purpleo{ + background-color: #0d6fb8; +} +.pinko{ + background-color: #122a88; +} +.blacko{ + background-color: #171c61; +} +.redt{ + background-color: #601986; +} +.oranget{ + background-color: #920783; +} +.yellowt{ + background-color: #a40a5e; +} +.greent{ + background-color: #000; +} +.baise{ + background-color: #fff; +} +.purples{ + background-color: #800080; +} +.speed-set{ + position: absolute; + bottom: 165px; + left: 140px; + width: 315px; + height: 30px; +} +.speed-set > .speed-set-fast{ + float: left; + width: 30px; + height: 20px; +} +.speed-set > .speed-set-fast > span { + color: #fff; + font-size: 14px; +} +.speed-set > .speed-set-slow{ + float: right; + width: 30px; + height: 20px; + margin-left: 10px; +} +.speed-set > .speed-set-slow > span { + color: #fff; + font-size: 14px; +} +.speed{ + position: relative; + float: left; + width: 243px; + height: 20px; +} +.speed > input[type="range"] { + -webkit-box-shadow: 0 1px 0 0px #424242, 0 1px 0 #060607 inset, 0px 2px 10px 0px black inset, 1px 0px 2px rgba(0, 0, 0, 0.4) inset, 0 0px 1px rgba(0, 0, 0, 0.6) inset; + background-color: #272728; + border-radius: 15px; + display: inline-block; + width: 240px; + -webkit-appearance: none; + height:10px; +} +.speed > input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + cursor: default; + margin-top: 10px; + height: 20px; + width: 15px; + transform: translateY(-4px); + background: none repeat scroll 0 0 #777; + border-radius: 15px; + -webkit-box-shadow: 0 -1px 1px black inset; +} +.le-configs{ + display: none; + width: 266px; + height:100%; + flex-direction: column; +} +.le-configs > .le-config { + position: relative; + width: 200px; + height: 32px; + margin-top: 10px; + background-color: #060606; +} +.le-configs > .le-config > .le-config-color{ + width: 200px; + height: 100%; + display: flex; + flex-direction: row; + justify-content: space-between; +} +.le-configs > .le-config > .le-config-color > .le-config-color-select{ + line-height: 32px; + width: 158px; + height: 32px; + color: #fff; + font-size: 14px; + margin-left: 10px; +} +.le-configs > .le-config > .le-config-color > .le-config-color-dropdown{ + width: 32px; + height: 100%; + background: url('../img/arrow_down.png')no-repeat; + background-position: center; + transition: All 0.4s ease-in-out; + -webkit-transition: All 0.4s ease-in-out; +} + +.le-configs > .le-config > .le-config-color > .le-config-color-dropdown.hover-up{ + transform: rotate(180deg); + -webkit-transform: rotate(180deg); +} + +.le-configs > .le-config > .le-config-type-items{ + position: absolute; + display: none; + left: 0px; + top: 32px; + width: 200px; + height: 70px; + overflow-y: auto; +} +.le-configs > .le-config > .le-config-type-items > .item{ + width: 187px; + height: 32px; + font-size: 13px; + padding-left: 10px; + line-height: 32px; + margin: 1px; + background-color: #080808; + color: #ffffff; +} +.le-configs > .le-config-set{ + display: none; + width: 200px; + height: 60px; + flex-direction: column; +} +.le-configs > .le-config-set > .le-config-set-color{ + display: flex; + width: 200px; + height: 30px; + flex-direction: row; + justify-content: center; + align-items: center; + margin: 5px 0 5px; +} +.le-configs > .le-config-set > .le-config-set-color > span{ + width: 100px; + height: 20px; + font-size: 14px; + line-height: 20px; + background-color: #fff; +} +.le-configs > .le-config-set > .le-config-set-refer{ + display: flex; + width: 200px; + height: 30px; + flex-direction: row; + justify-content: space-around; + align-items: center; +} +.le-configs > .le-config-set > .le-config-set-refer > .le-config-set-submit{ + width: 60px; + height: 30px; +} +.le-configs > .le-config-set > .le-config-set-refer > .le-config-set-cancel{ + width: 60px; + height: 30px; +} \ No newline at end of file diff --git a/Build/Data/device/655491151/res/js/kb_offline.js b/Build/Data/device/655491151/res/js/kb_offline.js new file mode 100644 index 0000000..c91a661 --- /dev/null +++ b/Build/Data/device/655491151/res/js/kb_offline.js @@ -0,0 +1,618 @@ +var CMS = {}; +var DEVICE = { + profiles: [], + modeIndex: 2, + profile: null, + playle: null, + keymap: null, + leData: null, + params: null, + definecolor: "0xff0000" +}; +var MENU = { + "index": null, + "menuPID":"", + "menuID":"", + "menuName":"", + "keyLE": "", + "driverValue":"" +}; +var hoverTimer; + +$.multilang=window.parent.$.multilang; +function initUI() { + initDeviceImage(); + + if (CMS.currentProfile && (CMS.currentProfile.ModelID === CMS.deviceID)) + DEVICE.modeIndex = CMS.currentProfile.ModeIndex; + + for(var i = 0; i < CMS.profiles.length; i++) { + var modeIndex = CMS.profiles[i].ModeIndex; + if(modeIndex == 1) { + (function(modeIndex) { + window.parent.readProfile(CMS.deviceID, CMS.profiles[i].GUID, function(data) { + DEVICE.profiles[modeIndex] = data; + if (modeIndex == DEVICE.modeIndex){ + onProfileSelect(DEVICE.modeIndex); + } + }); + })(modeIndex); + break; + } + } + for(var i = 0; i < CMS.profiles.length; i++) { + var modeIndex = CMS.profiles[i].ModeIndex; + if((modeIndex >= 2) && (modeIndex <= 4)) { + (function(modeIndex) { + window.parent.readProfile(CMS.deviceID, CMS.profiles[i].GUID, function(data) { + DEVICE.profiles[modeIndex] = data; + if (modeIndex == DEVICE.modeIndex){ + onProfileSelect(DEVICE.modeIndex); + } + }); + })(modeIndex); + } + } + if (window.parent.CMS.deviceConfig.AspectRatio) { + $('#device').device({ + aspectratio: window.parent.CMS.deviceConfig.AspectRatio, + }); + } + + $.le({ + onDisplay: function(data) { + $('#device').device({"display": data}); + } + }); + + window.parent.setLanguage(false); +} + + +function initDeviceImage() { + $("#device").empty(); + var str = ''; + str += '\ + \ + '; + $("#device").append(str); +} + +$(document).ready(function() { + CMS = window.parent.CMS; + $.getJSON("data/keymapshow.js", function(json){ + DEVICE.keymap = json; + initUI(); + }); +}); + +function onProfileSelect(modeIndex) { + DEVICE.modeIndex = modeIndex; + DEVICE.profile = DEVICE.profiles[DEVICE.modeIndex]; + onProfileLoad(); + window.parent.changeMode(CMS.deviceID, modeIndex); +} + +function onProfileLoad() { + window.parent.CMS.currentProfile = DEVICE.profile; + initDevice(); + initFunc(); + initFuncEvent(); +} + +function onProfileChanged() { + window.parent.writeProfile(CMS.deviceID, DEVICE.profile.GUID, DEVICE.profile, function() { + var isLECheckResult = checkLE(); + if(!isLECheckResult) { + window.parent.warning($.multilang("not_found_light_file")); + return; + } + window.parent.apply(CMS.deviceID, DEVICE.profile.GUID, function(result) { + $('#apply').removeClass("btn-breath"); + if(result) + window.parent.success($.multilang("apply_success")); + else + window.parent.error($.multilang("apply_error")); + }); + }); +} + +function initDevice() { + //初始化按键 + $('#device').device({ + keymap: DEVICE.keymap, + }); + +} + +function initFunc() { + //初始化左侧选择键以及默认功能菜单索引 + MENU.index = null; + + //初始化菜单栏选项 + $("#menu_select").find("li").eq(0).addClass("active"); + $("#lamp_setting").is(":hidden") && $("#func_setting").show(); + + //初始化模式灯光功能按钮 + $("#tools_lamp_1").find(".ximagebutton").ximagebutton({ + colors: { + normal: "#787878", + active: "#00c2ff" + } + }); + $("#tools_lamp_1").find(".ximagebutton").eq(0).ximagebutton('active'); + $("#menu_select").find("li").unbind('click').click(function() { + $(this).addClass("active").siblings().removeClass("active"); + + $("#lamp_setting").is(":hidden") && $("#lamp_setting").show(); + $("#bottom_nav").css({'display': 'flex'}); + $("#apply").css("display","block"); + $("#device").find(".show-F9").css("display","flex"); + + }); + $("#menu_select").find("li:eq(0)").click(); + //初始化DriverLE + //初始化F9装备槽 + if ($("#device").find(".show-F9").length <= 0) { + var str = ''; + $("#device").append(str); + $("#device").find(".show-F9").css({"top": "-40px", "left": "290px", "display": "flex"}); + } else { + $(".show-F9").css({"display": "flex"}); + } + + for (var i = 0; i < DEVICE.profile.DriverLE.length; i++) { + var change_value = ""; + if (DEVICE.profile.DriverLE[i].GUID != "") { + change_value_light = DEVICE.profile.DriverLE[i].Name; + $("#device").find(".show-F9").find("li").eq(i).data("change-value-light", change_value_light); + $("#device").find(".show-F9").find("li").eq(i).addClass("border"); + } + } + + var index_no_configuration = $.multilang("no_config"); + var kb_lamp = $.multilang("kb_lamp"); + if ($("#device").find(".show-function").length <= 0) { + var add = '
\ +
\ + '+kb_lamp+': ' + index_no_configuration + '\ + \ + \ +
\ +
'; + $("#device").append(add); + } + //初始化静态灯效 + //renderStaticLamp(); + //初始化模式灯效 + renderLamp(); + + //初始化颜色下拉选择设定功能 + $("#le_config_color_select").off('click').click(function(){ + if ($("#le_config_colors").is(":hidden")) { + $("#le_config_colors").show(); + $("#le_color_dropdown").addClass("hover-up"); + } else { + $("#le_config_colors").hide(); + $("#le_color_dropdown").removeClass("hover-up"); + } + return false; + }); + $(document).click(function(){ + $("#le_config_colors").hide(); + $("#le_color_dropdown").removeClass("hover-up"); + }); +} + +function initFuncEvent() { + + //设置下去 + $('#apply').on('click', function() { + onProfileChanged(); + }); + + //初始化模式灯光功能按钮 + $("#tools_lamp_1").find(".ximagebutton").ximagebutton({ + onClick: function(){ + $element = this; + var index = $element.index(); + $("#tools_lamp_2").find(".functions").hide(); + $("#tools_lamp_2").find(".functions").eq(index).css({'display': 'flex'}); + $element.ximagebutton('active'); + $element.siblings().ximagebutton('inactive'); + } + }); + $("#device").find(".show-F9").find("li").unbind('click').click(function() { + $(this).addClass("button-active").siblings().removeClass("button-active"); + var selectguid = $("#tools_lamp_2").find("ul li.selected").data('guid'); + if(selectguid !== DEVICE.profile.DriverLE[$(this).index()].GUID){ + $('#tool_lamp .confirm .yes').addClass("btn-breath"); + }else{ + $('#tool_lamp .confirm .yes').removeClass("btn-breath"); + } + }); + + $("#device").find(".show-F9").find("li").unbind('mouseenter mouseleave').hover(function() { + clearTimeout(hoverTimer); + var index = $(this).index(); + var change_value_light = $(this).data("change-value-light"); + var top = $(this).parent().position().top + $(this).position().top - 35; + var left = $(this).parent().position().left + $(this).position().left + $(this).width() / 2 - 60 + 3; + var $showButtonFunction = $("#device").find(".show-function"); + var $this = $(this); + if (change_value_light) { + $("#light_config").text(change_value_light) + } else { + $("#light_config").text($.multilang("no_config")); + } + $showButtonFunction.hover(function() { + clearTimeout(hoverTimer); + },function() { + clearTimeout(hoverTimer); + hoverTimer = setTimeout(function() { + $("#device").find(".show-function").fadeOut("fast"); + }, 200); + }); + + $("#light_remove").unbind('click').click(function() { + $("#light_config").text($.multilang("no_config")); + $this.data("change-value-light",null); + $this.removeClass("border"); + DEVICE.profile.DriverLE[index].GUID= ""; + DEVICE.profile.DriverLE[index].Name= ""; + window.parent.writeProfile(CMS.deviceID, DEVICE.profile.GUID, DEVICE.profile, function() { + window.parent.apply(CMS.modelID, DEVICE.profile.GUID, function(result) { window.parent.warning($.multilang("clear_success"));}); + }); + }); + + $showButtonFunction.css({"top": top + "px", "left": left + "px"}); + $showButtonFunction.css({"display": "flex"}); + + $this.addClass("button-hover").siblings().removeClass("button-hover"); + },function() { + clearTimeout(hoverTimer); + hoverTimer = setTimeout(function() { + $("#device").find(".show-function").fadeOut("fast"); + }, 200); + $(this).removeClass("button-hover"); + }); + + $(".confirm .yes").unbind('click').click(function(){ + var _this = $(this); + var driverleindex = $(".show-F9").find('li.button-active').index(); + if(driverleindex !== -1){ + var sellampguid = $("#tool_lamp .func-setting .menu-list").find(".menu-item.selected").data('guid'); + var sellampname = $("#tool_lamp .func-setting .menu-list").find(".menu-item.selected span").text(); + if(sellampguid){ + DEVICE.profile.DriverLE[driverleindex].GUID = sellampguid; + DEVICE.profile.DriverLE[driverleindex].Name = sellampname; + window.parent.writeProfile(CMS.deviceID, DEVICE.profile.GUID, DEVICE.profile, function() { + $("#light_config").text(sellampname); + $(".show-F9").find('li.button-active').data("change-value-light",sellampname); + $(".show-F9").find('li.button-active').addClass("border"); + _this.removeClass("btn-breath"); + $('#apply').addClass("btn-breath"); + }); + } + }else{ + window.parent.warning('请选择要设置的灯效顺序!'); + } + }); + //主题灯效配置 + //staticLampFunc(); + lampfunc(); + bindingEvent(); + $(".show-F9 li").eq(0).click(); + var $selectedLamp = $("#tools_lamp_2").find("ul").find("li[data-guid='" + DEVICE.profile.DriverLE[0].GUID + "']"); + if($selectedLamp.length > 0){ + $selectedLamp.addClass("selected"); + $selectedLamp.parent().parent().scrollTop($("#tools_lamp_2").find("ul").find("li[data-guid='" + DEVICE.profile.DriverLE[0].GUID + "']").index()*32); + $selectedLamp.click(); + }else{ + $("#tools_lamp_2 ul li").eq(0).click(); + } +} + +function renderStaticLamp() { + $("#tool_lamp").find(".static-lelist").find("ul").empty(); + var str = ''; + $("#tool_lamp").find(".static-lelist").find("ul").append(str); + +} + +function staticLampFunc() { + $("#tool_lamp").find(".func-static-lelist").find("ul").find(".menu-item").unbind('click').click(function(){ + $(this).addClass("selected").siblings().removeClass("selected"); + $("#tool_lamp").find(".func-setting").find("ul").find(".menu-item").removeClass("selected"); + $.le('stop'); + DEVICE.playle = ''; + $("#le_config_color_select p").data('index', null); + lightenKeyFunc(); + if(!DEVICE.profile.ModeLE.LEData) { + DEVICE.profile.ModeLE.LEData = {}; + } + var leData = DEVICE.profile.ModeLE.LEData; + DEVICE.leData = leData; + DEVICE.params = null; + + var config = {}; + for(var index in leData) { + config[index] = leData[index].replace("0x", "#"); + } + var data = { + "config": config + }; + $('#device').device({ + display: data + }); + }); +} + +function lightenKeyFunc() { + $("#bottom_nav").css({'display': 'flex'}); + $("#le_configs").css({'display': 'none'}); + $('#device').device({ + onSingleSelect: null, + onMultiSelect: null + }); + $('#device').device({ + onSingleSelect: lighten, + onMultiSelect: lightenMulti + }); +} + +function lighten(keyItem) { + var locationCode = keyItem.LocationCode; + if (DEVICE.definecolor === null) { + window.parent.warning($.multilang("kb_select_color")); + return; + } + DEVICE.profile.ModeLE.LEData[locationCode] = DEVICE.definecolor; + var leData = DEVICE.profile.ModeLE.LEData; + var config = {}; + for(var index in leData) { + config[index] = leData[index].replace("0x", "#"); + } + var data = { + "config": config + }; + $('#device').device({ + display: data + }); + +} + +function lightenMulti(locationCodes) { + if (DEVICE.definecolor === null) { + window.parent.warning($.multilang("kb_select_color")); + return; + } + for (var i = 0; i < locationCodes.length; i++) { + var locationCode = locationCodes[i]; + DEVICE.profile.ModeLE.LEData[locationCode] = DEVICE.definecolor; + } + var leData = DEVICE.profile.ModeLE.LEData; + var config = {}; + for(var index in leData) { + config[index] = leData[index].replace("0x", "#"); + } + var data = { + "config": config + }; + $('#device').device({ + display: data + }); +} + +function cancelKeyFunc() { + $("#bottom_nav").css({'display': 'flex'}); + $('#device').device({ + 'display': { + 'config': {} + } + }); + $('#device').device({ + onSingleSelect: null, + onMultiSelect: null + }); +} + +function renderLamp() { + if (CMS.les.length ==0) { + return; + } + $("#tool_lamp").find(".menu-list").find("ul").empty(); + var str = ''; + for (var i = 0; i < CMS.les.length; i++) { + var combicostr = ""; + if(CMS.les[i].LeType === "combination"){ + combicostr = '
'; + continue; + } + if (CMS.les[i].Type === 1) { + str += ''; + } else { + if(CMS.deviceConfig.LeCate && CMS.les[i].LeCate && (CMS.deviceConfig.LeCate == CMS.les[i].LeCate)) { + str += ''; + } + } + } + $("#tool_lamp").find(".menu-list").find("ul").append(str); +} + +function lampfunc() { + $("#tool_lamp").find(".func-setting").find("ul").find(".menu-item").unbind('click').click(function(){ + $(this).addClass("selected").siblings().removeClass("selected"); + $("#tool_lamp").find(".func-static-lelist").find("ul").find(".menu-item").removeClass("selected"); + cancelKeyFunc(); + var guid = $(this).data("guid"); + if(guid) { + window.parent.readLE(guid, function(data){ + var params = null; + params = $.le('play', data, params); + DEVICE.leData = data; + DEVICE.params = null; + setColorConfig(data, params); + DEVICE.playle = guid; + }); + if(guid !== DEVICE.profile.DriverLE[$(".show-F9").find('li.button-active').index()].GUID){ + $('#tool_lamp .confirm .yes').addClass("btn-breath"); + }else{ + $('#tool_lamp .confirm .yes').removeClass("btn-breath"); + } + } else { + $.le('stop'); + DEVICE.playle = ''; + } + }); +} + +function setColorConfig(data, params) { + $("#le_configs").css({'display': 'flex'}); + $("#le_config_colors").empty(); + $("#le_config_set").css({'display': 'none'}); + if (!params) return; + if(params && params.hasOwnProperty('LEConfigs') && Object.prototype.toString.call(params.LEConfigs) == '[object Array]') { + var leConfigs = params.LEConfigs; + initLeColorSet(leConfigs); + leColorSetFunc(data, params); + } +} + +function initLeColorSet(leConfigs) { + var text = '颜色参数设置'; + $("#le_config_color_select p").text(text); + $("#le_config_color_select p").data('index', null); + var str = ''; + for (var i = 0; i < leConfigs.length; i++) { + str += '
' + leConfigs[i].Name + '
'; + } + $("#le_config_colors").append(str); +} + +function leColorSetFunc(data, params) { + $("#le_config_colors").find(".item").off('mouseenter mouseleave').hover(function(){ + $(this).css({'outline': '1px solid #00c2ee'}); + }, function(){ + $(this).css({'outline': 'none'}); + }); + + $("#le_config_colors").find(".item").off('click').click(function(){ + $("#le_config_colors").hide(); + $("#le_color_dropdown").removeClass("hover-up"); + var text = $(this).text(); + var index = $(this).index(); + $("#le_config_color_select p").text(text); + $("#le_config_color_select p").data('index', index); + DEVICE.params = params; + $.le('play', data, DEVICE.params); + $("#le_config_set").css({'display': 'flex'}); + $("#le_config_set_color").css({'backgroundColor': DEVICE.params.LEConfigs[index].Color.replace("0x", "#")}); + }); +} + +function speedSelect() { + $("#speed_select").off('mouseup').mouseup(function(){ + var speed = parseInt($(this).val()); + DEVICE.profile.Speed = speed; + }); +} + +function bindingEvent(){ + //取色器颜色变化 + $('.picker').each( function() { + $(this).minicolors({ + inline: $(this).attr('data-inline') === 'true', + change: function(hex, opacity) { + onColorChanged(hex); + }, + theme: 'default' + }); + }); + + //颜色块选择框点击 + $("#choose_color").find(".item").click(function(){ + $("#current_color").css({ + backgroundColor: $(this).css("background-color") + }); + + var rgb = $(this).css('background-color'); + rgb = jQuery.Color(rgb).toHexString(); + rgb = "0x"+rgb.substring(1,rgb.length); + DEVICE.definecolor = rgb; + var index = $("#le_config_color_select p").data('index'); + if (DEVICE.params !== null && index !== null) { + DEVICE.params.LEConfigs[index].Color = DEVICE.definecolor; + $.le('play', DEVICE.leData, DEVICE.params); + $("#le_config_set_color").css({ + backgroundColor: $(this).css("background-color") + }); + } + }); + +} + +//颜色改变回调 +function onColorChanged(data){ + $("#current_color").css({ + 'backgroundColor': data + }); + + DEVICE.definecolor = "0x"+data.substring(1,data.length); + var index = $("#le_config_color_select p").data('index'); + if (DEVICE.params !== null && index !== null) { + DEVICE.params.LEConfigs[index].Color = DEVICE.definecolor; + $.le('play', DEVICE.leData, DEVICE.params); + + $("#le_config_set_color").css({ + 'backgroundColor': data + }); + } +} + + +function checkLE() { + var ret = true; + ret &= checkDriverLE(); + return ret; +} + + + +//检查F9标准灯效 +function checkDriverLE() { + var isCompleted =true; + for (var i = 0; i < DEVICE.profiles[2].DriverLE.length; i++) { + if (!DEVICE.profiles[2].DriverLE[i].GUID) + continue; + var flag = true; + for (var j = 0; j < window.parent.CMS.les.length; j++) { + if (DEVICE.profiles[2].DriverLE[i].GUID == window.parent.CMS.les[j].GUID) { + if (DEVICE.profiles[2].DriverLE[i].Name != window.parent.CMS.les[j].Name) { + DEVICE.profiles[2].DriverLE[i].Name = window.parent.CMS.les[j].Name; + } + flag = false; + break; + } + } + if (flag) + isCompleted = false; + } + return isCompleted; +} + diff --git a/Build/Data/device/655491165/config.json b/Build/Data/device/655491165/config.json new file mode 100644 index 0000000..55388ee --- /dev/null +++ b/Build/Data/device/655491165/config.json @@ -0,0 +1,98 @@ +{ + "DeviceType": 0, + "DriverLEKey": 67, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": 0, + "ShowOffsetTop": 0, + "IsFnKeySet": true, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [0,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [23,24,25,26,27,28,29,30,31,32,36,33,34,22,37,38,39,40,41,42,43] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [47,52,53,54,45,48,49,51,46,50,44,55,56,58,59,60,61,65,62,63,64] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [67,69,70,71,72,73,74,75,68,79,76,77,66,84,85,86] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [88,102,94,92,96,95,93,91,90,97,98,99,104,106,107,108,109] + },{ + "title": "第六行", + "lang": "line_sixth", + "lcodes": [121,122,110,112,111,124,120,116,127,125,126,128,130] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+F10", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+F11", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+F12", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+F9", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+F5/F6", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/keymap.js b/Build/Data/device/655491165/data/keymap.js new file mode 100644 index 0000000..040226c --- /dev/null +++ b/Build/Data/device/655491165/data/keymap.js @@ -0,0 +1,1249 @@ + +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 121, + "Position": { + "Left": 606, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 122, + "Position": { + "Left": 655, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 170, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 170, + "Top": 343, + "Width": 84, + "Height": 36 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 268, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 219, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 124, + "Position": { + "Left": 704, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 102, + "Position": { + "Left": 647, + "Top": 343, + "Width": 103, + "Height": 36 + } +}, +{ + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 120, + "Position": { + "Left": 557, + "Top": 382, + "Width": 46, + "Height": 36 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 67, + "Position": { + "Left": 238, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 413, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 335, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 69, + "Position": { + "Left": 316, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 47, + "Position": { + "Left": 306, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 70, + "Position": { + "Left": 355, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 71, + "Position": { + "Left": 394, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 72, + "Position": { + "Left": 433, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 52, + "Position": { + "Left": 501, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 73, + "Position": { + "Left": 472, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 74, + "Position": { + "Left": 511, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 75, + "Position": { + "Left": 550, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 491, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 452, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 53, + "Position": { + "Left": 540, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 54, + "Position": { + "Left": 579, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 45, + "Position": { + "Left": 228, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 48, + "Position": { + "Left": 345, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 68, + "Position": { + "Left": 277, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 49, + "Position": { + "Left": 384, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 51, + "Position": { + "Left": 462, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 374, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 46, + "Position": { + "Left": 267, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 296, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 50, + "Position": { + "Left": 423, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 257, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 23, + "Position": { + "Left": 209, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 24, + "Position": { + "Left": 248, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 25, + "Position": { + "Left": 287, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 26, + "Position": { + "Left": 326, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 27, + "Position": { + "Left": 365, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 28, + "Position": { + "Left": 404, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 29, + "Position": { + "Left": 443, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 30, + "Position": { + "Left": 482, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 31, + "Position": { + "Left": 521, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 32, + "Position": { + "Left": 560, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 79, + "Position": { + "Left": 667, + "Top": 304, + "Width": 83, + "Height": 36 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 170, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 677, + "Top": 226, + "Width": 73, + "Height": 36 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 170, + "Top": 265, + "Width": 55, + "Height": 36 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 317, + "Top": 382, + "Width": 237, + "Height": 36 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 33, + "Position": { + "Left": 599, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 34, + "Position": { + "Left": 638, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 55, + "Position": { + "Left": 618, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 56, + "Position": { + "Left": 657, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 696, + "Top": 265, + "Width": 54, + "Height": 36 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 76, + "Position": { + "Left": 589, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 77, + "Position": { + "Left": 628, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "`", + "Show": "`", + "LogicCode": 58, + "LocationCode": 22, + "Position": { + "Left": 170, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 530, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 569, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 608, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 170, + "Top": 304, + "Width": 65, + "Height": 36 + } +}, +{ + "KeyName": "F1", + "Show": "F1", + "LogicCode": 63, + "LocationCode": 2, + "Position": { + "Left": 249, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F2", + "Show": "F2", + "LogicCode": 64, + "LocationCode": 3, + "Position": { + "Left": 288, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F3", + "Show": "F3", + "LogicCode": 65, + "LocationCode": 4, + "Position": { + "Left": 327, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F4", + "Show": "F4", + "LogicCode": 66, + "LocationCode": 5, + "Position": { + "Left": 366, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F5", + "Show": "F5", + "LogicCode": 67, + "LocationCode": 7, + "Position": { + "Left": 423, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F6", + "Show": "F6", + "LogicCode": 68, + "LocationCode": 8, + "Position": { + "Left": 462, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F7", + "Show": "F7", + "LogicCode": 69, + "LocationCode": 9, + "Position": { + "Left": 501, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F8", + "Show": "F8", + "LogicCode": 70, + "LocationCode": 10, + "Position": { + "Left": 540, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F9", + "Show": "F9", + "LogicCode": 71, + "LocationCode": 11, + "Position": { + "Left": 597, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F10", + "Show": "F10", + "LogicCode": 72, + "LocationCode": 12, + "Position": { + "Left": 636, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F11", + "Show": "F11", + "LogicCode": 73, + "LocationCode": 13, + "Position": { + "Left": 675, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "F12", + "Show": "F12", + "LogicCode": 74, + "LocationCode": 14, + "Position": { + "Left": 714, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Print Screen", + "Show": "PrtSC", + "LogicCode": 75, + "LocationCode": 15, + "Position": { + "Left": 758, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Scroll Lock", + "Show": "Scroll", + "LogicCode": 76, + "LocationCode": 16, + "Position": { + "Left": 797, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Pause", + "Show": "Pause", + "LogicCode": 77, + "LocationCode": 17, + "Position": { + "Left": 836, + "Top": 180, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Insert", + "Show": "Insert", + "LogicCode": 78, + "LocationCode": 37, + "Position": { + "Left": 758, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Home", + "Show": "Home", + "LogicCode": 79, + "LocationCode": 38, + "Position": { + "Left": 797, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Page Up", + "Show": "P U", + "LogicCode": 80, + "LocationCode": 39, + "Position": { + "Left": 836, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 59, + "Position": { + "Left": 758, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "End", + "Show": "End", + "LogicCode": 82, + "LocationCode": 60, + "Position": { + "Left": 797, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Page Down", + "Show": "P D", + "LogicCode": 83, + "LocationCode": 61, + "Position": { + "Left": 836, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 127, + "Position": { + "Left": 836, + "Top": 382, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 125, + "Position": { + "Left": 758, + "Top": 382, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 126, + "Position": { + "Left": 797, + "Top": 382, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 104, + "Position": { + "Left": 797, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Num Lock", + "Show": "NumL", + "LogicCode": 88, + "LocationCode": 40, + "Position": { + "Left": 880, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad /", + "Show": "Num /", + "LogicCode": 89, + "LocationCode": 41, + "Position": { + "Left": 919, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad *", + "Show": "Num *", + "LogicCode": 90, + "LocationCode": 42, + "Position": { + "Left": 958, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad -", + "Show": "Num -", + "LogicCode": 91, + "LocationCode": 43, + "Position": { + "Left": 997, + "Top": 226, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad +", + "Show": "Num +", + "LogicCode": 92, + "LocationCode": 65, + "Position": { + "Left": 997, + "Top": 265, + "Width": 36, + "Height": 75 + } +}, +{ + "KeyName": "Keypad Enter", + "Show": "Enter", + "LogicCode": 93, + "LocationCode": 109, + "Position": { + "Left": 997, + "Top": 343, + "Width": 36, + "Height": 75 + } +}, +{ + "KeyName": "Keypad 1", + "Show": "Num 1", + "LogicCode": 94, + "LocationCode": 106, + "Position": { + "Left": 880, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 2", + "Show": "Num 2", + "LogicCode": 95, + "LocationCode": 107, + "Position": { + "Left": 919, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 3", + "Show": "Num 3", + "LogicCode": 96, + "LocationCode": 108, + "Position": { + "Left": 958, + "Top": 343, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 4", + "Show": "Num 4", + "LogicCode": 97, + "LocationCode": 84, + "Position": { + "Left": 880, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 5", + "Show": "Num 5", + "LogicCode": 98, + "LocationCode": 85, + "Position": { + "Left": 919, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 6", + "Show": "Num 6", + "LogicCode": 99, + "LocationCode": 86, + "Position": { + "Left": 958, + "Top": 304, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 7", + "Show": "Num 7", + "LogicCode": 100, + "LocationCode": 62, + "Position": { + "Left": 880, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 8", + "Show": "Num 8", + "LogicCode": 101, + "LocationCode": 63, + "Position": { + "Left": 919, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 9", + "Show": "Num 9", + "LogicCode": 102, + "LocationCode": 64, + "Position": { + "Left": 958, + "Top": 265, + "Width": 36, + "Height": 36 + } +}, +{ + "KeyName": "Keypad 0", + "Show": "Num 0", + "LogicCode": 103, + "LocationCode": 128, + "Position": { + "Left": 880, + "Top": 382, + "Width": 75, + "Height": 36 + } +}, +{ + "KeyName": "Keypad .", + "Show": "Num .", + "LogicCode": 104, + "LocationCode": 130, + "Position": { + "Left": 958, + "Top": 382, + "Width": 36, + "Height": 36 + } +}] diff --git a/Build/Data/device/655491165/data/profile.json b/Build/Data/device/655491165/data/profile.json new file mode 100644 index 0000000..3819817 --- /dev/null +++ b/Build/Data/device/655491165/data/profile.json @@ -0,0 +1,1249 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491165, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/profile_offline_1.json b/Build/Data/device/655491165/data/profile_offline_1.json new file mode 100644 index 0000000..7412cc5 --- /dev/null +++ b/Build/Data/device/655491165/data/profile_offline_1.json @@ -0,0 +1,2351 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "2BCE9E32-D806-46d0-A866-3ADAFAFDD7C1", + "Name": "全亮红光", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/profile_offline_2.json b/Build/Data/device/655491165/data/profile_offline_2.json new file mode 100644 index 0000000..1cef27d --- /dev/null +++ b/Build/Data/device/655491165/data/profile_offline_2.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "7D765D1C-64FD-4033-90EA-1556502AA9B5", + "Name": "ȫϹ", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/profile_offline_3.json b/Build/Data/device/655491165/data/profile_offline_3.json new file mode 100644 index 0000000..ad389a0 --- /dev/null +++ b/Build/Data/device/655491165/data/profile_offline_3.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "01BF5484-6303-486e-BD3F-2267B53C3926", + "Name": "̹", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/profile_offline_std.json b/Build/Data/device/655491165/data/profile_offline_std.json new file mode 100644 index 0000000..da575a7 --- /dev/null +++ b/Build/Data/device/655491165/data/profile_offline_std.json @@ -0,0 +1,22 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "6920D09F-C280-4e97-8734-0054FAD4D770", + "Name": "红光呼吸" + }, { + "GUID": "CB7DBFD0-2463-4aa7-AAEF-0512BFC1F6A2", + "Name": "蓝光呼吸" + }, { + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "908AA962-B0C8-4517-8E61-1E4C106CC4BA", + "Name": "星光闪耀" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491165/data/profile_online_1.json b/Build/Data/device/655491165/data/profile_online_1.json new file mode 100644 index 0000000..e5e2d06 --- /dev/null +++ b/Build/Data/device/655491165/data/profile_online_1.json @@ -0,0 +1,1253 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491165, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/config.json b/Build/Data/device/655491200/config.json new file mode 100644 index 0000000..6da634c --- /dev/null +++ b/Build/Data/device/655491200/config.json @@ -0,0 +1,104 @@ +{ + "DeviceType": 0, + "DriverLEKey": 67, + "LeCate": 840, + "ShowScalePlus": 0.06, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [24,25,26,27,28,29,30,31,32,33,36,34,35,22,38] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [48,53,54,55,46,49,50,52,47,51,44,56,57,58,60] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [68,70,71,72,73,74,75,76,69,80,77,78,66,82] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [88,101,94,92,96,95,93,91,90,97,98,99,104,103] + },{ + "title": "第六行", + "lang": "line_sixth", + "lcodes": [121,110,112,111,122,120,116,126,124,125] + },{ + "title": "底灯", + "lang": "line_bottom", + "lcodes": [17,39,61,83,18,40,62,84] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/keymap.js b/Build/Data/device/655491200/data/keymap.js new file mode 100644 index 0000000..2b05315 --- /dev/null +++ b/Build/Data/device/655491200/data/keymap.js @@ -0,0 +1,1014 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 121, + "Position": { + "Left": 758, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 164, + "Top": 436, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 164, + "Top": 380, + "Width": 119, + "Height": 50 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 300, + "Top": 436, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 232, + "Top": 436, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 122, + "Position": { + "Left": 812, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 101, + "Position": { + "Left": 826, + "Top": 380, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 120, + "Position": { + "Left": 704, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 68, + "Position": { + "Left": 260, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 502, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 394, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 70, + "Position": { + "Left": 368, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 48, + "Position": { + "Left": 356, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 71, + "Position": { + "Left": 422, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 72, + "Position": { + "Left": 476, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 73, + "Position": { + "Left": 530, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 53, + "Position": { + "Left": 626, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 74, + "Position": { + "Left": 584, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 75, + "Position": { + "Left": 638, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 76, + "Position": { + "Left": 692, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 610, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 556, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 54, + "Position": { + "Left": 680, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 55, + "Position": { + "Left": 734, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 46, + "Position": { + "Left": 248, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 49, + "Position": { + "Left": 410, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 69, + "Position": { + "Left": 314, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 50, + "Position": { + "Left": 464, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 52, + "Position": { + "Left": 572, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 448, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 47, + "Position": { + "Left": 302, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 340, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 51, + "Position": { + "Left": 518, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 286, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 24, + "Position": { + "Left": 218, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 25, + "Position": { + "Left": 272, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 26, + "Position": { + "Left": 326, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 27, + "Position": { + "Left": 380, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 28, + "Position": { + "Left": 434, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 29, + "Position": { + "Left": 488, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 30, + "Position": { + "Left": 542, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 31, + "Position": { + "Left": 596, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 32, + "Position": { + "Left": 650, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 33, + "Position": { + "Left": 704, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 80, + "Position": { + "Left": 854, + "Top": 326, + "Width": 116, + "Height": 50 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 164, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 866, + "Top": 212, + "Width": 104, + "Height": 50 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 164, + "Top": 268, + "Width": 80, + "Height": 50 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 368, + "Top": 436, + "Width": 332, + "Height": 50 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 34, + "Position": { + "Left": 758, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 35, + "Position": { + "Left": 812, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 56, + "Position": { + "Left": 788, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 57, + "Position": { + "Left": 842, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 896, + "Top": 268, + "Width": 74, + "Height": 50 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 77, + "Position": { + "Left": 746, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 78, + "Position": { + "Left": 800, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "`", + "Show": "`", + "LogicCode": 58, + "LocationCode": 22, + "Position": { + "Left": 164, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 664, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 718, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 772, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 164, + "Top": 326, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "F1", + "Show": "F1", + "LogicCode": 63, + "LocationCode": 2, + "Position": { + "Left": 218, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F2", + "Show": "F2", + "LogicCode": 64, + "LocationCode": 3, + "Position": { + "Left": 272, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F3", + "Show": "F3", + "LogicCode": 65, + "LocationCode": 4, + "Position": { + "Left": 326, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F4", + "Show": "F4", + "LogicCode": 66, + "LocationCode": 5, + "Position": { + "Left": 380, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F5", + "Show": "F5", + "LogicCode": 67, + "LocationCode": 6, + "Position": { + "Left": 434, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F6", + "Show": "F6", + "LogicCode": 68, + "LocationCode": 7, + "Position": { + "Left": 488, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F7", + "Show": "F7", + "LogicCode": 69, + "LocationCode": 8, + "Position": { + "Left": 542, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F8", + "Show": "F8", + "LogicCode": 70, + "LocationCode": 9, + "Position": { + "Left": 596, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F9", + "Show": "F9", + "LogicCode": 71, + "LocationCode": 10, + "Position": { + "Left": 650, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F10", + "Show": "F10", + "LogicCode": 72, + "LocationCode": 11, + "Position": { + "Left": 704, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F11", + "Show": "F11", + "LogicCode": 73, + "LocationCode": 12, + "Position": { + "Left": 758, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F12", + "Show": "F12", + "LogicCode": 74, + "LocationCode": 13, + "Position": { + "Left": 812, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Print Screen", + "Show": "PrtSC", + "LogicCode": 75, + "LocationCode": 14, + "Position": { + "Left": 866, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Scroll Lock", + "Show": "Scroll", + "LogicCode": 76, + "LocationCode": 15, + "Position": { + "Left": 920, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Pause", + "Show": "Pause", + "LogicCode": 77, + "LocationCode": 16, + "Position": { + "Left": 974, + "Top": 155, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Home", + "Show": "Home", + "LogicCode": 79, + "LocationCode": 38, + "Position": { + "Left": 974, + "Top": 212, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Page Up", + "Show": "P U", + "LogicCode": 80, + "LocationCode": 60, + "Position": { + "Left": 974, + "Top": 268, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "End", + "Show": "End", + "LogicCode": 82, + "LocationCode": 104, + "Position": { + "Left": 974, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Page Down", + "Show": "P D", + "LogicCode": 83, + "LocationCode": 82, + "Position": { + "Left": 974, + "Top": 326, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 126, + "Position": { + "Left": 974, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 124, + "Position": { + "Left": 866, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 125, + "Position": { + "Left": 920, + "Top": 436, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 103, + "Position": { + "Left": 920, + "Top": 380, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "LED-L-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 130, + "Top": 160, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-L-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 130, + "Top": 252, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-L-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 130, + "Top": 346, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-L-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 130, + "Top": 440, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-R-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 1050, + "Top": 160, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-R-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 1050, + "Top": 252, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-R-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 1050, + "Top": 346, + "Width": 20, + "Height": 32 + } + }, { + "KeyName": "LED-R-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 1050, + "Top": 440, + "Width": 20, + "Height": 32 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile.json b/Build/Data/device/655491200/data/profile.json new file mode 100644 index 0000000..94d76bc --- /dev/null +++ b/Build/Data/device/655491200/data/profile.json @@ -0,0 +1,1020 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491200, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, + { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 5, + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 18, + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 19, + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 20, + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 21, + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 22, + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 24, + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 25, + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 30, + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 36, + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 37, + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 38, + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 42, + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 43, + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 44, + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 45, + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 50, + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 56, + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 60, + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 61, + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 71, + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 72, + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 73, + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 74, + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 84, + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 85, + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 86, + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 87, + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile_offline_1.json b/Build/Data/device/655491200/data/profile_offline_1.json new file mode 100644 index 0000000..5512e26 --- /dev/null +++ b/Build/Data/device/655491200/data/profile_offline_1.json @@ -0,0 +1,1563 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "7D765D1C-64FD-4033-90EA-1556502AA9B5", + "Name": "全亮紫光" + }, + "KeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 5, + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 19, + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 20, + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 21, + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 22, + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 25, + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 36, + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 37, + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 38, + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 43, + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 44, + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 45, + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 50, + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 61, + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 71, + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 72, + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 73, + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 74, + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 84, + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 85, + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 86, + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 87, + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ], + "FnKeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num5", + "MenuPID": "" + }, { + "Index": 19, + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num1", + "MenuPID": "" + }, { + "Index": 20, + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num2", + "MenuPID": "" + }, { + "Index": 21, + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num3", + "MenuPID": "" + }, { + "Index": 22, + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num0", + "MenuPID": "" + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num6", + "MenuPID": "" + }, { + "Index": 25, + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num*", + "MenuPID": "" + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num4", + "MenuPID": "" + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num7", + "MenuPID": "" + }, { + "Index": 43, + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num8", + "MenuPID": "" + }, { + "Index": 44, + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num9", + "MenuPID": "" + }, { + "Index": 45, + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num/", + "MenuPID": "" + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num-", + "MenuPID": "" + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num.", + "MenuPID": "" + }, { + "Index": 61, + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num+", + "MenuPID": "" + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile_offline_2.json b/Build/Data/device/655491200/data/profile_offline_2.json new file mode 100644 index 0000000..4e37704 --- /dev/null +++ b/Build/Data/device/655491200/data/profile_offline_2.json @@ -0,0 +1,1563 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "081497C1-F999-4c76-A622-B08CD827A58A", + "Name": "84计算器" + }, + "KeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 5, + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 5", + "MenuPID": 0 + }, { + "Index": 19, + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 1", + "MenuPID": 0 + }, { + "Index": 20, + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 2", + "MenuPID": 0 + }, { + "Index": 21, + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 3", + "MenuPID": 0 + }, { + "Index": 22, + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 0", + "MenuPID": 0 + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 6", + "MenuPID": 0 + }, { + "Index": 25, + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "*", + "MenuPID": 0 + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 4", + "MenuPID": 0 + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 36, + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 37, + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 38, + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 7", + "MenuPID": 0 + }, { + "Index": 43, + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 8", + "MenuPID": 0 + }, { + "Index": 44, + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num 9", + "MenuPID": 0 + }, { + "Index": 45, + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "/", + "MenuPID": 0 + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 50, + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "-", + "MenuPID": 0 + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": ".", + "MenuPID": 0 + }, { + "Index": 61, + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "+", + "MenuPID": 0 + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 71, + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 72, + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 73, + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 74, + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 84, + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 85, + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 86, + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 87, + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ], + "FnKeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num5", + "MenuPID": "" + }, { + "Index": 19, + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num1", + "MenuPID": "" + }, { + "Index": 20, + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num2", + "MenuPID": "" + }, { + "Index": 21, + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num3", + "MenuPID": "" + }, { + "Index": 22, + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num0", + "MenuPID": "" + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num6", + "MenuPID": "" + }, { + "Index": 25, + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num*", + "MenuPID": "" + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num4", + "MenuPID": "" + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num7", + "MenuPID": "" + }, { + "Index": 43, + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num8", + "MenuPID": "" + }, { + "Index": 44, + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num9", + "MenuPID": "" + }, { + "Index": 45, + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num/", + "MenuPID": "" + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num-", + "MenuPID": "" + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num.", + "MenuPID": "" + }, { + "Index": 61, + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num+", + "MenuPID": "" + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile_offline_3.json b/Build/Data/device/655491200/data/profile_offline_3.json new file mode 100644 index 0000000..587c86f --- /dev/null +++ b/Build/Data/device/655491200/data/profile_offline_3.json @@ -0,0 +1,1563 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "908AA962-B0C8-4517-8E61-1E4C106CC4BA", + "Name": "星光闪耀" + }, + "KeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 5, + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 19, + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 20, + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 21, + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 22, + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 25, + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 36, + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 37, + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 38, + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 43, + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 44, + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 45, + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 50, + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 61, + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 71, + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 72, + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 73, + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 74, + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 84, + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 85, + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 86, + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 87, + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ], + "FnKeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 18, + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num5", + "MenuPID": "" + }, { + "Index": 19, + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num1", + "MenuPID": "" + }, { + "Index": 20, + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num2", + "MenuPID": "" + }, { + "Index": 21, + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num3", + "MenuPID": "" + }, { + "Index": 22, + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num0", + "MenuPID": "" + }, { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 24, + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num6", + "MenuPID": "" + }, { + "Index": 25, + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num*", + "MenuPID": "" + }, { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 30, + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num4", + "MenuPID": "" + }, { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 42, + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num7", + "MenuPID": "" + }, { + "Index": 43, + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num8", + "MenuPID": "" + }, { + "Index": 44, + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num9", + "MenuPID": "" + }, { + "Index": 45, + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num/", + "MenuPID": "" + }, { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 56, + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num-", + "MenuPID": "" + }, { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 60, + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num.", + "MenuPID": "" + }, { + "Index": 61, + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "Num+", + "MenuPID": "" + }, { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile_offline_std.json b/Build/Data/device/655491200/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491200/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491200/data/profile_online_1.json b/Build/Data/device/655491200/data/profile_online_1.json new file mode 100644 index 0000000..85198da --- /dev/null +++ b/Build/Data/device/655491200/data/profile_online_1.json @@ -0,0 +1,1024 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491200, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 2, + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "", + "Task": { + "Data": { + "AppPath": "", + "Type": "OpenURL" + }, + "Type": "" + } + }, + { + "Index": 3, + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 4, + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 5, + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 6, + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 7, + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 8, + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 10, + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 11, + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 12, + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 13, + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 14, + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 15, + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 16, + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 17, + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 18, + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 19, + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 20, + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 21, + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 22, + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 23, + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 24, + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 25, + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 26, + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 27, + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 28, + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 29, + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 30, + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 31, + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 32, + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 33, + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 34, + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 35, + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 36, + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 37, + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 38, + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 39, + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 40, + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 41, + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 42, + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 43, + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 44, + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 45, + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 46, + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 47, + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 48, + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 49, + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 50, + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 51, + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 52, + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 53, + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 54, + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 55, + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 56, + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 57, + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 58, + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 59, + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 60, + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 61, + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 62, + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 63, + "DriverValue": "0xffffffff", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 64, + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 65, + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 66, + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 67, + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 68, + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 69, + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 70, + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 71, + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 72, + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 73, + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 74, + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 75, + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 76, + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 77, + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 79, + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 80, + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 82, + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 83, + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 84, + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 85, + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 86, + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }, + { + "Index": 87, + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + }, + "MenuID": "", + "MenuName": "", + "MenuPID": "" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491238/config.json b/Build/Data/device/655491238/config.json new file mode 100644 index 0000000..0e2c322 --- /dev/null +++ b/Build/Data/device/655491238/config.json @@ -0,0 +1,100 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 611, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,80,72,70,74,73,71,69,68,75,76,77] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [102,99,88,90,89,100,98,94] + },{ + "title": "底灯", + "lang": "line_bottom", + "lcodes": [17,39,61,18,40,62] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491238/data/keymap.js b/Build/Data/device/655491238/data/keymap.js new file mode 100644 index 0000000..462438b --- /dev/null +++ b/Build/Data/device/655491238/data/keymap.js @@ -0,0 +1,739 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 102, + "Position": { + "Left": 902, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 99, + "Position": { + "Left": 766, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 100, + "Position": { + "Left": 834, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 80, + "Position": { + "Left": 822, + "Top": 332, + "Width": 144, + "Height": 50 + } + }, { + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 98, + "Position": { + "Left": 698, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 606, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 660, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 714, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 768, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "Led-left-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 138, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-left-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 138, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-left-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 138, + "Top": 390, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 966, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 966, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 966, + "Top": 390, + "Width": 20, + "Height": 36 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491238/data/profile.json b/Build/Data/device/655491238/data/profile.json new file mode 100644 index 0000000..9b389b9 --- /dev/null +++ b/Build/Data/device/655491238/data/profile.json @@ -0,0 +1,643 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491238/data/profile_offline_1.json b/Build/Data/device/655491238/data/profile_offline_1.json new file mode 100644 index 0000000..3d1ef1b --- /dev/null +++ b/Build/Data/device/655491238/data/profile_offline_1.json @@ -0,0 +1,915 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "806098FC-F845-4187-898E-8A6259EC6326", + "Name": "61蓝牙版方向键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "↓", + "DriverValue": "0x02005100", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "→", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": 7, + "MenuID": 3, + "MenuName": "Layer2", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "←", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "↑", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491238/data/profile_offline_2.json b/Build/Data/device/655491238/data/profile_offline_2.json new file mode 100644 index 0000000..103b6e5 --- /dev/null +++ b/Build/Data/device/655491238/data/profile_offline_2.json @@ -0,0 +1,915 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "75430B47-A033-4ffa-95E1-41D0DC98393C", + "Name": "61蓝牙版F1-F12" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "App", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": 0, + "MenuID": "", + "MenuName": "/", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+[", + "DriverValue": "0x02002F20", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+]", + "DriverValue": "0x02003020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+\\", + "DriverValue": "0x02003120", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+;", + "DriverValue": "0x02003320", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+'", + "DriverValue": "0x02003420", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+,", + "DriverValue": "0x02003620", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+.", + "DriverValue": "0x02003720", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+/", + "DriverValue": "0x02003820", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491238/data/profile_offline_3.json b/Build/Data/device/655491238/data/profile_offline_3.json new file mode 100644 index 0000000..77e7473 --- /dev/null +++ b/Build/Data/device/655491238/data/profile_offline_3.json @@ -0,0 +1,915 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "6F3292E7-9D9B-4166-99A2-C128DAA7E8E5", + "Name": "61蓝牙版功能九键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491238/data/profile_offline_std.json b/Build/Data/device/655491238/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491238/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491238/data/profile_online_1.json b/Build/Data/device/655491238/data/profile_online_1.json new file mode 100644 index 0000000..526add5 --- /dev/null +++ b/Build/Data/device/655491238/data/profile_online_1.json @@ -0,0 +1,724 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491238, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491239/config.json b/Build/Data/device/655491239/config.json new file mode 100644 index 0000000..07338d0 --- /dev/null +++ b/Build/Data/device/655491239/config.json @@ -0,0 +1,96 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 641, + "ShowScalePlus": 0.2, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "Ч", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "һ", + "lang": "line_first", + "lcodes": [23,24,25,26,27,28,29,30,31,32,22,36,33,34] + },{ + "title": "ڶ", + "lang": "line_second", + "lcodes": [47,52,53,54,45,48,49,51,46,50,44,55,56,58] + },{ + "title": "", + "lang": "line_third", + "lcodes": [67,69,70,71,72,73,74,75,68,79,76,77,66] + },{ + "title": "", + "lang": "line_fourth", + "lcodes": [88,100,94,92,96,95,93,91,90,97,98,99,102,101] + },{ + "title": "", + "lang": "line_fifth", + "lcodes": [120,110,112,111,121,116,124,122,123] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491239/data/keymap.js b/Build/Data/device/655491239/data/keymap.js new file mode 100644 index 0000000..fbbd59e --- /dev/null +++ b/Build/Data/device/655491239/data/keymap.js @@ -0,0 +1,706 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 98, + "Position": { + "Left": 700, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 99, + "Position": { + "Left": 754, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 78, + "Position": { + "Left": 808, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 608, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 660, + "Top": 332, + "Width": 46, + "Height": 50 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 710, + "Top": 332, + "Width": 46, + "Height": 50 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 760, + "Top": 332, + "Width": 44, + "Height": 50 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 80, + "Position": { + "Left": 916, + "Top": 330, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 102, + "Position": { + "Left": 916, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 100, + "Position": { + "Left": 808, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 101, + "Position": { + "Left": 862, + "Top": 386, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 79, + "Position": { + "Left": 862, + "Top": 330, + "Width": 50, + "Height": 50 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491239/data/profile.json b/Build/Data/device/655491239/data/profile.json new file mode 100644 index 0000000..d2c6dcb --- /dev/null +++ b/Build/Data/device/655491239/data/profile.json @@ -0,0 +1,750 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491239/data/profile_offline_1.json b/Build/Data/device/655491239/data/profile_offline_1.json new file mode 100644 index 0000000..1aa40ba --- /dev/null +++ b/Build/Data/device/655491239/data/profile_offline_1.json @@ -0,0 +1,740 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "D621E59B-2AEB-47ea-9CDF-00B9359E810C", + "Name": "64蓝牙方向键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491239/data/profile_offline_2.json b/Build/Data/device/655491239/data/profile_offline_2.json new file mode 100644 index 0000000..c3418b2 --- /dev/null +++ b/Build/Data/device/655491239/data/profile_offline_2.json @@ -0,0 +1,740 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "B9221CEB-F80E-408b-B074-EBB615DB93B4", + "Name": "64蓝牙F1-F12键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491239/data/profile_offline_3.json b/Build/Data/device/655491239/data/profile_offline_3.json new file mode 100644 index 0000000..7696502 --- /dev/null +++ b/Build/Data/device/655491239/data/profile_offline_3.json @@ -0,0 +1,740 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "0EEFA343-3E25-4368-A332-665298D91EBD", + "Name": "64蓝牙功能9键", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491239/data/profile_offline_std.json b/Build/Data/device/655491239/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491239/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491239/data/profile_online_1.json b/Build/Data/device/655491239/data/profile_online_1.json new file mode 100644 index 0000000..1aeafa7 --- /dev/null +++ b/Build/Data/device/655491239/data/profile_online_1.json @@ -0,0 +1,745 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491084, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491246/config.json b/Build/Data/device/655491246/config.json new file mode 100644 index 0000000..0e2c322 --- /dev/null +++ b/Build/Data/device/655491246/config.json @@ -0,0 +1,100 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 611, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,80,72,70,74,73,71,69,68,75,76,77] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [102,99,88,90,89,100,98,94] + },{ + "title": "底灯", + "lang": "line_bottom", + "lcodes": [17,39,61,18,40,62] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491246/data/keymap.js b/Build/Data/device/655491246/data/keymap.js new file mode 100644 index 0000000..462438b --- /dev/null +++ b/Build/Data/device/655491246/data/keymap.js @@ -0,0 +1,739 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 102, + "Position": { + "Left": 902, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 99, + "Position": { + "Left": 766, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 100, + "Position": { + "Left": 834, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 80, + "Position": { + "Left": 822, + "Top": 332, + "Width": 144, + "Height": 50 + } + }, { + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 98, + "Position": { + "Left": 698, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 606, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 660, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 714, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 768, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } + }, { + "KeyName": "Led-left-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 138, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-left-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 138, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-left-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 138, + "Top": 390, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 966, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 966, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, { + "KeyName": "Led-right-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 966, + "Top": 390, + "Width": 20, + "Height": 36 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491246/data/profile.json b/Build/Data/device/655491246/data/profile.json new file mode 100644 index 0000000..9b389b9 --- /dev/null +++ b/Build/Data/device/655491246/data/profile.json @@ -0,0 +1,643 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491246/data/profile_offline_1.json b/Build/Data/device/655491246/data/profile_offline_1.json new file mode 100644 index 0000000..2f972a8 --- /dev/null +++ b/Build/Data/device/655491246/data/profile_offline_1.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "806098FC-F845-4187-898E-8A6259EC6326", + "Name": "61蓝牙版方向键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "↓", + "DriverValue": "0x02005100", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "→", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": 7, + "MenuID": 3, + "MenuName": "Layer2", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "←", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "↑", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491246/data/profile_offline_2.json b/Build/Data/device/655491246/data/profile_offline_2.json new file mode 100644 index 0000000..b657602 --- /dev/null +++ b/Build/Data/device/655491246/data/profile_offline_2.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "75430B47-A033-4ffa-95E1-41D0DC98393C", + "Name": "61蓝牙版F1-F12" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "App", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": 0, + "MenuID": "", + "MenuName": "/", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+[", + "DriverValue": "0x02002F20", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+]", + "DriverValue": "0x02003020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+\\", + "DriverValue": "0x02003120", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+;", + "DriverValue": "0x02003320", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+'", + "DriverValue": "0x02003420", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+,", + "DriverValue": "0x02003620", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+.", + "DriverValue": "0x02003720", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+/", + "DriverValue": "0x02003820", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491246/data/profile_offline_3.json b/Build/Data/device/655491246/data/profile_offline_3.json new file mode 100644 index 0000000..99a6ab8 --- /dev/null +++ b/Build/Data/device/655491246/data/profile_offline_3.json @@ -0,0 +1,939 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "6F3292E7-9D9B-4166-99A2-C128DAA7E8E5", + "Name": "61蓝牙版功能九键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ] +} diff --git a/Build/Data/device/655491246/data/profile_offline_std.json b/Build/Data/device/655491246/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491246/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491246/data/profile_online_1.json b/Build/Data/device/655491246/data/profile_online_1.json new file mode 100644 index 0000000..6ed1440 --- /dev/null +++ b/Build/Data/device/655491246/data/profile_online_1.json @@ -0,0 +1,724 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491246, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491247/config.json b/Build/Data/device/655491247/config.json new file mode 100644 index 0000000..ee8873b --- /dev/null +++ b/Build/Data/device/655491247/config.json @@ -0,0 +1,116 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + },{ + "id": 3, + "name": "板载模式", + "lang": "menu_download_mode", + "icon": "el-icon-download", + "component": "/DownloadMode", + "visible": false, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,67,68,69,70,71,72,73,74,75,76,66,79,77,78] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [17,22,23,24,15,18,19,21,16,20,14,25,26,27,83,88,89,90,81,84,85,87,82,86,80,91,92,93] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [29,31,32,33,34,35,36,37,30,40,38,39,28,95,97,98,99,100,101,102,103,96,106,104,105,94] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [41,52,46,44,48,47,45,43,42,49,50,51,54,53,107,118,112,110,114,113,111,109,108,115,116,117,120,119] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [59,55,57,56,62,58,65,63,64,61,60,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "上灯位", + "lang": "line_above", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,17,22,23,24,15,18,19,21,16,20,14,25,26,27,29,31,32,33,34,35,36,37,30,40,38,39,28,41,52,46,44,48,47,45,43,42,49,50,51,54,53,59,55,57,56,62,58,65,63,64,61,60] + },{ + "title": "下灯位", + "lang": "line_below", + "lcodes": [67,68,69,70,71,72,73,74,75,76,66,79,77,78,83,88,89,90,81,84,85,87,82,86,80,91,92,93,95,97,98,99,100,101,102,103,96,106,104,105,94,107,118,112,110,114,113,111,109,108,115,116,117,120,119,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "LOGO", + "lang": "line_logo", + "lcodes": [132,133,134,135,136,137] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491247/data/keymap.js b/Build/Data/device/655491247/data/keymap.js new file mode 100644 index 0000000..cf1825c --- /dev/null +++ b/Build/Data/device/655491247/data/keymap.js @@ -0,0 +1,1520 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 59, + "Position": { + "Left": 496, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 55, + "Position": { + "Left": 70, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 41, + "Position": { + "Left": 70, + "Top": 342, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 57, + "Position": { + "Left": 250, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 56, + "Position": { + "Left": 160, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 62, + "Position": { + "Left": 848, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 52, + "Position": { + "Left": 920, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 29, + "Position": { + "Left": 196, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 46, + "Position": { + "Left": 496, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 44, + "Position": { + "Left": 356, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 31, + "Position": { + "Left": 337, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 17, + "Position": { + "Left": 318, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 32, + "Position": { + "Left": 407, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 33, + "Position": { + "Left": 478, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 34, + "Position": { + "Left": 550, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 22, + "Position": { + "Left": 672, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 35, + "Position": { + "Left": 620, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 36, + "Position": { + "Left": 690, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 37, + "Position": { + "Left": 762, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 48, + "Position": { + "Left": 638, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 47, + "Position": { + "Left": 566, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 23, + "Position": { + "Left": 743, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 24, + "Position": { + "Left": 814, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 15, + "Position": { + "Left": 176, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 18, + "Position": { + "Left": 390, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 30, + "Position": { + "Left": 266, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 19, + "Position": { + "Left": 460, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 21, + "Position": { + "Left": 602, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 45, + "Position": { + "Left": 426, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 16, + "Position": { + "Left": 248, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 43, + "Position": { + "Left": 283, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 20, + "Position": { + "Left": 530, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 42, + "Position": { + "Left": 213, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 1, + "Position": { + "Left": 144, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 2, + "Position": { + "Left": 212, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 3, + "Position": { + "Left": 283, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 4, + "Position": { + "Left": 354, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 5, + "Position": { + "Left": 424, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 6, + "Position": { + "Left": 496, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 7, + "Position": { + "Left": 566, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 8, + "Position": { + "Left": 637, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 9, + "Position": { + "Left": 708, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 10, + "Position": { + "Left": 778, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 40, + "Position": { + "Left": 973, + "Top": 271, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 70, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 13, + "Position": { + "Left": 992, + "Top": 130, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 14, + "Position": { + "Left": 70, + "Top": 200, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 58, + "Position": { + "Left": 338, + "Top": 414, + "Width": 154, + "Height": 34 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 11, + "Position": { + "Left": 848, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 12, + "Position": { + "Left": 920, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 25, + "Position": { + "Left": 885, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 26, + "Position": { + "Left": 956, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 27, + "Position": { + "Left": 1026, + "Top": 200, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 38, + "Position": { + "Left": 832, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 39, + "Position": { + "Left": 902, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 49, + "Position": { + "Left": 707, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 50, + "Position": { + "Left": 778, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 51, + "Position": { + "Left": 848, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 28, + "Position": { + "Left": 70, + "Top": 271, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 54, + "Position": { + "Left": 1062, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 65, + "Position": { + "Left": 1062, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 63, + "Position": { + "Left": 920, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 64, + "Position": { + "Left": 990, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 53, + "Position": { + "Left": 990, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 61, + "Position": { + "Left": 778, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Fnx", + "Show": "Fnx", + "LogicCode": 109, + "LocationCode": 60, + "Position": { + "Left": 584, + "Top": 414, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "LED Fn", + "Show": "Fn", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 496, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 70, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 70, + "Top": 376, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "LED Left Alt", + "Show": "Alt", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 250, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left GUI", + "Show": "Win", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 160, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Right Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 848, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 920, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED A", + "Show": "A", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 196, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED B", + "Show": "B", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 496, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED C", + "Show": "C", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 356, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED D", + "Show": "D", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 337, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED E", + "Show": "E", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 318, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED F", + "Show": "F", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 407, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED G", + "Show": "G", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 478, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED H", + "Show": "H", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 550, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED I", + "Show": "I", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 672, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED J", + "Show": "J", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 620, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED K", + "Show": "K", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 690, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED L", + "Show": "L", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 762, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED M", + "Show": "M", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 638, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED N", + "Show": "N", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 566, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED O", + "Show": "O", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 743, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED P", + "Show": "P", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 814, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Q", + "Show": "Q", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 176, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED R", + "Show": "R", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 390, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED S", + "Show": "S", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 266, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED T", + "Show": "T", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 460, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED U", + "Show": "U", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 602, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED V", + "Show": "V", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 426, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED W", + "Show": "W", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 248, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED X", + "Show": "X", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 283, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Y", + "Show": "Y", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 530, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Z", + "Show": "Z", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 213, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 1", + "Show": "1", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 144, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 2", + "Show": "2", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 212, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 3", + "Show": "3", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 283, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 4", + "Show": "4", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 354, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 5", + "Show": "5", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 424, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 6", + "Show": "6", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 496, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 7", + "Show": "7", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 566, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 8", + "Show": "8", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 637, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 9", + "Show": "9", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 708, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 0", + "Show": "0", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 778, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Return", + "Show": "Enter", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 973, + "Top": 305, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "LED Escape", + "Show": "Esc", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 70, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Backspace", + "Show": "←", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 992, + "Top": 164, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "LED Tab", + "Show": "Tab", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 70, + "Top": 234, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "LED Space", + "Show": "Space", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 338, + "Top": 448, + "Width": 154, + "Height": 34 + } + }, { + "KeyName": "LED -", + "Show": "-", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 848, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED =", + "Show": "=", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 920, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED [", + "Show": "[", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 885, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ]", + "Show": "]", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 956, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED |", + "Show": "|", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 1026, + "Top": 234, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": "LED ;", + "Show": ";", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 832, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED '", + "Show": "'", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 902, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ,", + "Show": ",", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 707, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED .", + "Show": ".", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 778, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED /", + "Show": "/", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 848, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Caps Lock", + "Show": "Caps L", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 70, + "Top": 305, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "LED Delete", + "Show": "Del", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 1062, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Arrow", + "Show": "→", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 1062, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Left Arrow", + "Show": "←", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 920, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Down Arrow", + "Show": "↓", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 990, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Up Arrow", + "Show": "↑", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 990, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED App", + "Show": "App", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 778, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Fnx", + "Show": "Fnx", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 584, + "Top": 448, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "LED left 1", + "Show": "led1", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 53, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 2", + "Show": "led2", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 53, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 3", + "Show": "led3", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 53, + "Top": 362, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 1", + "Show": "led4", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 1126, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 2", + "Show": "led5", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 1126, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 3", + "Show": "led6", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 1126, + "Top": 362, + "Width": 20, + "Height": 118 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/655491247/data/profile.json b/Build/Data/device/655491247/data/profile.json new file mode 100644 index 0000000..9e42067 --- /dev/null +++ b/Build/Data/device/655491247/data/profile.json @@ -0,0 +1,757 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491247/data/profile_offline_1.json b/Build/Data/device/655491247/data/profile_offline_1.json new file mode 100644 index 0000000..6d1b06d --- /dev/null +++ b/Build/Data/device/655491247/data/profile_offline_1.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "layer_onboard_1", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "1AD8F682-9629-4991-B7DB-E422C2FCA808", + "Name": "fn1", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491247/data/profile_offline_2.json b/Build/Data/device/655491247/data/profile_offline_2.json new file mode 100644 index 0000000..539be27 --- /dev/null +++ b/Build/Data/device/655491247/data/profile_offline_2.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "layer_onboard_2", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "3651411A-6076-4586-B21F-F3BD42566630", + "Name": "fn2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "RAlt", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "RWin", + "DriverValue": "0x02000080", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491247/data/profile_offline_3.json b/Build/Data/device/655491247/data/profile_offline_3.json new file mode 100644 index 0000000..2db86d3 --- /dev/null +++ b/Build/Data/device/655491247/data/profile_offline_3.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "layer_onboard_3", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "304110DE-00A4-4d4a-8A24-CAEA739A0303", + "Name": "fn3", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "复制", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "粘贴", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491247/data/profile_offline_std.json b/Build/Data/device/655491247/data/profile_offline_std.json new file mode 100644 index 0000000..132f2ba --- /dev/null +++ b/Build/Data/device/655491247/data/profile_offline_std.json @@ -0,0 +1,23 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "C31BE9AC-D417-4572-B242-C3D592E02CE3", + "Name": "上下灯位全亮" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "65F5A876-E4E1-4bd5-9543-781AC3DAC791", + "Name": "66纯绿ESC变化" + }, { + "GUID": "2B229551-3D2C-4cae-AF77-5AFF1CE21CEB", + "Name": "灯效 64" + }, { + "GUID": "8201889D-2AE8-4bc0-BE08-899557795A45", + "Name": "66上红常亮下绿色呼吸" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/655491247/data/profile_online_1.json b/Build/Data/device/655491247/data/profile_online_1.json new file mode 100644 index 0000000..bff90da --- /dev/null +++ b/Build/Data/device/655491247/data/profile_online_1.json @@ -0,0 +1,698 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491247, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a080002", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491248/config.json b/Build/Data/device/655491248/config.json new file mode 100644 index 0000000..8f4413d --- /dev/null +++ b/Build/Data/device/655491248/config.json @@ -0,0 +1,104 @@ +{ + "DeviceType": 0, + "DriverLEKey": 67, + "LeCate": 990, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [0,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,15,19] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [24,25,26,27,28,29,30,31,32,33,36,34,35,22,38,39,40,41] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [48,53,54,55,46,49,50,52,47,51,44,56,57,58,63,60,61,62] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [68,70,71,72,73,74,75,76,69,80,77,78,66,82,83,84] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [88,101,94,92,96,95,93,91,90,97,98,99,103,107,104,105,106] + },{ + "title": "第六行", + "lang": "line_sixth", + "lcodes": [120,110,112,111,121,116,126,124,125,127,128] + }, { + "title": "底灯", + "lang": "line_bottom", + "lcodes": [102,37,59,81,85,129,119,118,117,115,114,113,89,1,23,45,67,123,79,122,100] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/keymap.js b/Build/Data/device/655491248/data/keymap.js new file mode 100644 index 0000000..e2b2302 --- /dev/null +++ b/Build/Data/device/655491248/data/keymap.js @@ -0,0 +1,1440 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 120, + "Position": { + "Left": 590, + "Top": 421, + "Width": 80, + "Height": 54 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 110, + "Position": { + "Left": 30, + "Top": 421, + "Width": 66, + "Height": 54 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 88, + "Position": { + "Left": 30, + "Top": 363, + "Width": 118, + "Height": 54 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 112, + "Position": { + "Left": 170, + "Top": 421, + "Width": 66, + "Height": 54 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 111, + "Position": { + "Left": 100, + "Top": 421, + "Width": 66, + "Height": 54 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 121, + "Position": { + "Left": 672, + "Top": 421, + "Width": 80, + "Height": 54 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 101, + "Position": { + "Left": 713, + "Top": 363, + "Width": 103, + "Height": 54 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 68, + "Position": { + "Left": 124, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 94, + "Position": { + "Left": 377, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 92, + "Position": { + "Left": 264, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 70, + "Position": { + "Left": 236, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 48, + "Position": { + "Left": 223, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 71, + "Position": { + "Left": 292, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 72, + "Position": { + "Left": 348, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 73, + "Position": { + "Left": 404, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 53, + "Position": { + "Left": 503, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 74, + "Position": { + "Left": 460, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 75, + "Position": { + "Left": 517, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 76, + "Position": { + "Left": 572, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 96, + "Position": { + "Left": 489, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 95, + "Position": { + "Left": 433, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 54, + "Position": { + "Left": 559, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 55, + "Position": { + "Left": 616, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 46, + "Position": { + "Left": 112, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 49, + "Position": { + "Left": 279, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 69, + "Position": { + "Left": 180, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 50, + "Position": { + "Left": 335, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 52, + "Position": { + "Left": 447, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 93, + "Position": { + "Left": 320, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 47, + "Position": { + "Left": 167, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 91, + "Position": { + "Left": 208, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 51, + "Position": { + "Left": 391, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 90, + "Position": { + "Left": 152, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 24, + "Position": { + "Left": 86, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 25, + "Position": { + "Left": 141, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 26, + "Position": { + "Left": 196, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 27, + "Position": { + "Left": 252, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 28, + "Position": { + "Left": 309, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 29, + "Position": { + "Left": 365, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 30, + "Position": { + "Left": 421, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 31, + "Position": { + "Left": 477, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 32, + "Position": { + "Left": 533, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 33, + "Position": { + "Left": 588, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 80, + "Position": { + "Left": 742, + "Top": 304, + "Width": 126, + "Height": 54 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 30, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 36, + "Position": { + "Left": 758, + "Top": 188, + "Width": 109, + "Height": 54 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 44, + "Position": { + "Left": 30, + "Top": 246, + "Width": 80, + "Height": 54 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 116, + "Position": { + "Left": 240, + "Top": 421, + "Width": 346, + "Height": 54 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 34, + "Position": { + "Left": 644, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 35, + "Position": { + "Left": 700, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 56, + "Position": { + "Left": 672, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 57, + "Position": { + "Left": 727, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 58, + "Position": { + "Left": 782, + "Top": 246, + "Width": 84, + "Height": 54 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 77, + "Position": { + "Left": 628, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 78, + "Position": { + "Left": 684, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "`", + "Show": "`", + "LogicCode": 58, + "LocationCode": 22, + "Position": { + "Left": 30, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 97, + "Position": { + "Left": 545, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 98, + "Position": { + "Left": 601, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 99, + "Position": { + "Left": 657, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 66, + "Position": { + "Left": 30, + "Top": 304, + "Width": 90, + "Height": 54 + } +}, +{ + "KeyName": "F1", + "Show": "F1", + "LogicCode": 63, + "LocationCode": 2, + "Position": { + "Left": 86, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F2", + "Show": "F2", + "LogicCode": 64, + "LocationCode": 3, + "Position": { + "Left": 141, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F3", + "Show": "F3", + "LogicCode": 65, + "LocationCode": 4, + "Position": { + "Left": 197, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F4", + "Show": "F4", + "LogicCode": 66, + "LocationCode": 5, + "Position": { + "Left": 253, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F5", + "Show": "F5", + "LogicCode": 67, + "LocationCode": 6, + "Position": { + "Left": 309, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F6", + "Show": "F6", + "LogicCode": 68, + "LocationCode": 7, + "Position": { + "Left": 364, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F7", + "Show": "F7", + "LogicCode": 69, + "LocationCode": 8, + "Position": { + "Left": 420, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F8", + "Show": "F8", + "LogicCode": 70, + "LocationCode": 9, + "Position": { + "Left": 476, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F9", + "Show": "F9", + "LogicCode": 71, + "LocationCode": 10, + "Position": { + "Left": 532, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F10", + "Show": "F10", + "LogicCode": 72, + "LocationCode": 11, + "Position": { + "Left": 587, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F11", + "Show": "F11", + "LogicCode": 73, + "LocationCode": 12, + "Position": { + "Left": 643, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "F12", + "Show": "F12", + "LogicCode": 74, + "LocationCode": 13, + "Position": { + "Left": 699, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Print Screen", + "Show": "PrtSC", + "LogicCode": 75, + "LocationCode": 14, + "Position": { + "Left": 754, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Insert", + "Show": "Insert", + "LogicCode": 78, + "LocationCode": 16, + "Position": { + "Left": 870, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Home", + "Show": "Home", + "LogicCode": 79, + "LocationCode": 17, + "Position": { + "Left": 924, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Page Up", + "Show": "P U", + "LogicCode": 80, + "LocationCode": 18, + "Position": { + "Left": 980, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 15, + "Position": { + "Left": 810, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Page Down", + "Show": "P D", + "LogicCode": 83, + "LocationCode": 19, + "Position": { + "Left": 1036, + "Top": 132, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 126, + "Position": { + "Left": 870, + "Top": 421, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 124, + "Position": { + "Left": 755, + "Top": 421, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 125, + "Position": { + "Left": 811, + "Top": 421, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 103, + "Position": { + "Left": 812, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Num Lock", + "Show": "NumL", + "LogicCode": 88, + "LocationCode": 38, + "Position": { + "Left": 870, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad /", + "Show": "Num /", + "LogicCode": 89, + "LocationCode": 39, + "Position": { + "Left": 924, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad *", + "Show": "Num *", + "LogicCode": 90, + "LocationCode": 40, + "Position": { + "Left": 980, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad -", + "Show": "Num -", + "LogicCode": 91, + "LocationCode": 41, + "Position": { + "Left": 1036, + "Top": 188, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad +", + "Show": "Num +", + "LogicCode": 92, + "LocationCode": 63, + "Position": { + "Left": 1036, + "Top": 246, + "Width": 54, + "Height": 112 + } +}, +{ + "KeyName": "Keypad Enter", + "Show": "Enter", + "LogicCode": 93, + "LocationCode": 107, + "Position": { + "Left": 1036, + "Top": 363, + "Width": 54, + "Height": 112 + } +}, +{ + "KeyName": "Keypad 1", + "Show": "Num 1", + "LogicCode": 94, + "LocationCode": 104, + "Position": { + "Left": 870, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 2", + "Show": "Num 2", + "LogicCode": 95, + "LocationCode": 105, + "Position": { + "Left": 924, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 3", + "Show": "Num 3", + "LogicCode": 96, + "LocationCode": 106, + "Position": { + "Left": 980, + "Top": 363, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 4", + "Show": "Num 4", + "LogicCode": 97, + "LocationCode": 82, + "Position": { + "Left": 870, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 5", + "Show": "Num 5", + "LogicCode": 98, + "LocationCode": 83, + "Position": { + "Left": 924, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 6", + "Show": "Num 6", + "LogicCode": 99, + "LocationCode": 84, + "Position": { + "Left": 980, + "Top": 304, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 7", + "Show": "Num 7", + "LogicCode": 100, + "LocationCode": 60, + "Position": { + "Left": 870, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 8", + "Show": "Num 8", + "LogicCode": 101, + "LocationCode": 61, + "Position": { + "Left": 924, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 9", + "Show": "Num 9", + "LogicCode": 102, + "LocationCode": 62, + "Position": { + "Left": 980, + "Top": 246, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad 0", + "Show": "Num 0", + "LogicCode": 103, + "LocationCode": 127, + "Position": { + "Left": 924, + "Top": 421, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "Keypad .", + "Show": "Num .", + "LogicCode": 104, + "LocationCode": 128, + "Position": { + "Left": 980, + "Top": 421, + "Width": 54, + "Height": 54 + } +}, +{ + "KeyName": "LED-TOP-1", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 54, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-TOP-2", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 220, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-TOP-3", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 390, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-TOP-4", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 670, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-TOP-5", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 840, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-TOP-6", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 1000, + "Top": 112, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-1", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 54, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-2", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 220, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-3", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 370, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-4", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 520, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-5", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 670, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-6", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 840, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-BOTTOM-7", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 1000, + "Top": 474, + "Width": 54, + "Height": 20 + } +}, +{ + "KeyName": "LED-LEFT-1", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 14, + "Top": 160, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-LEFT-2", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 14, + "Top": 240, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-LEFT-3", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 14, + "Top": 320, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-LEFT-4", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 14, + "Top": 410, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-RIGHT-1", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 1, + "Position": { + "Left": 1086, + "Top": 160, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-RIGHT-2", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 23, + "Position": { + "Left": 1086, + "Top": 240, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-RIGHT-3", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 45, + "Position": { + "Left": 1086, + "Top": 320, + "Width": 20, + "Height": 54 + } +}, +{ + "KeyName": "LED-RIGHT-4", + "Show": "LED", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 1086, + "Top": 410, + "Width": 20, + "Height": 54 + } +}] diff --git a/Build/Data/device/655491248/data/profile.json b/Build/Data/device/655491248/data/profile.json new file mode 100644 index 0000000..9dadcdc --- /dev/null +++ b/Build/Data/device/655491248/data/profile.json @@ -0,0 +1,1249 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491248, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/profile_offline_1.json b/Build/Data/device/655491248/data/profile_offline_1.json new file mode 100644 index 0000000..c028ccd --- /dev/null +++ b/Build/Data/device/655491248/data/profile_offline_1.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "553A5737-BCB5-4814-BB16-36B7DFE4329E", + "Name": "大逃杀", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/profile_offline_2.json b/Build/Data/device/655491248/data/profile_offline_2.json new file mode 100644 index 0000000..9cb2da8 --- /dev/null +++ b/Build/Data/device/655491248/data/profile_offline_2.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "26D4E615-0A05-4208-8295-6E3C333FC98F", + "Name": "LOL", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/profile_offline_3.json b/Build/Data/device/655491248/data/profile_offline_3.json new file mode 100644 index 0000000..9bf3047 --- /dev/null +++ b/Build/Data/device/655491248/data/profile_offline_3.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "31EFF8B5-3363-4905-924A-B4FC9D31D084", + "Name": "DOTA", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/profile_offline_std.json b/Build/Data/device/655491248/data/profile_offline_std.json new file mode 100644 index 0000000..814348d --- /dev/null +++ b/Build/Data/device/655491248/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "5B5E3111-051C-4c66-A669-94FDFDEAEC99", + "Name": "全亮绿光" + }, + { + "GUID": "FAE0BFF4-3AF1-4153-AFC6-67739BF584E6", + "Name": "渐变" + }, + { + "GUID": "8D1D899F-4FE1-495a-95E5-0CC00B8614AF", + "Name": "彩虹波" + }, + { + "GUID": "8C807763-E010-49ed-9FFB-501F7CFF5F97", + "Name": "风车" + }, + { + "GUID": "280A8618-920F-4e7f-B8B8-C5A8C586E575", + "Name": "光谱循环" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491248/data/profile_online_1.json b/Build/Data/device/655491248/data/profile_online_1.json new file mode 100644 index 0000000..a9f97ad --- /dev/null +++ b/Build/Data/device/655491248/data/profile_online_1.json @@ -0,0 +1,1251 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491248, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491249/config.json b/Build/Data/device/655491249/config.json new file mode 100644 index 0000000..3606c3c --- /dev/null +++ b/Build/Data/device/655491249/config.json @@ -0,0 +1,108 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,78,72,70,74,73,71,69,68,75,76,77,80,79] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [98,88,90,89,99,94,102,100,101] + }, { + "title": "底灯", + "lang": "line_bottom", + "lcodes": [15,37,59,16,38,60] + }, { + "title": "上灯条", + "lang": "line_top_bar", + "lcodes": [17,18,19,20,21,39,40,41,42,43,61,62,63,64,65,81] + }, { + "title": "下灯条", + "lang": "line_bottom_bar", + "lcodes": [82,83,84,85,86,87,103,104,105,106,107,108,109,125,126,127] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491249/data/keymap.js b/Build/Data/device/655491249/data/keymap.js new file mode 100644 index 0000000..cb26b64 --- /dev/null +++ b/Build/Data/device/655491249/data/keymap.js @@ -0,0 +1,1032 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 98, + "Position": { + "Left": 740, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 200, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 200, + "Top": 332, + "Width": 119, + "Height": 50 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 336, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 268, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 99, + "Position": { + "Left": 794, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 78, + "Position": { + "Left": 848, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 296, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 538, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 430, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 404, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 392, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 458, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 512, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 566, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 662, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 620, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 674, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 728, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 648, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 592, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 716, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 770, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 284, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 446, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 350, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 500, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 608, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 484, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 338, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 376, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 554, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 322, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 254, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 308, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 362, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 416, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 470, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 524, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 578, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 632, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 686, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 740, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 890, + "Top": 276, + "Width": 116, + "Height": 50 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 200, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 902, + "Top": 162, + "Width": 104, + "Height": 50 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 200, + "Top": 220, + "Width": 80, + "Height": 50 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 404, + "Top": 386, + "Width": 332, + "Height": 50 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 794, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 848, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 824, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 878, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 932, + "Top": 220, + "Width": 74, + "Height": 50 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 782, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 836, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 700, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 750, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 800, + "Top": 332, + "Width": 44, + "Height": 50 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 200, + "Top": 276, + "Width": 90, + "Height": 50 + } +}, +{ + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 80, + "Position": { + "Left": 956, + "Top": 330, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 102, + "Position": { + "Left": 956, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 100, + "Position": { + "Left": 848, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 101, + "Position": { + "Left": 902, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 79, + "Position": { + "Left": 902, + "Top": 330, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "LED-TOP-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 200, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 300, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 19, + "Position": { + "Left": 410, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 20, + "Position": { + "Left": 520, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-5", + "Show": "", + "LogicCode": -1, + "LocationCode": 21, + "Position": { + "Left": 630, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-6", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 740, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-7", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 840, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-TOP-8", + "Show": "", + "LogicCode": -1, + "LocationCode": 41, + "Position": { + "Left": 945, + "Top": 102, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 200, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 300, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 410, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 520, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-5", + "Show": "", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 630, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-6", + "Show": "", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 740, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-7", + "Show": "", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 840, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-BOTTOM-8", + "Show": "", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 945, + "Top": 470, + "Width": 50, + "Height": 24 + } +}, +{ + "KeyName": "LED-LEFT-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 15, + "Position": { + "Left": 180, + "Top": 160, + "Width": 20, + "Height": 50 + } +}, +{ + "KeyName": "LED-LEFT-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 180, + "Top": 260, + "Width": 20, + "Height": 50 + } +}, +{ + "KeyName": "LED-LEFT-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 180, + "Top": 380, + "Width": 20, + "Height": 50 + } +}, +{ + "KeyName": "LED-RIGHT-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 16, + "Position": { + "Left": 1006, + "Top": 160, + "Width": 20, + "Height": 50 + } +}, +{ + "KeyName": "LED-RIGHT-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 38, + "Position": { + "Left": 1006, + "Top": 260, + "Width": 20, + "Height": 50 + } +}, +{ + "KeyName": "LED-RIGHT-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 60, + "Position": { + "Left": 1006, + "Top": 380, + "Width": 20, + "Height": 50 + } +}] \ No newline at end of file diff --git a/Build/Data/device/655491249/data/profile.json b/Build/Data/device/655491249/data/profile.json new file mode 100644 index 0000000..d2c6dcb --- /dev/null +++ b/Build/Data/device/655491249/data/profile.json @@ -0,0 +1,750 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491249/data/profile_offline_1.json b/Build/Data/device/655491249/data/profile_offline_1.json new file mode 100644 index 0000000..840fd3a --- /dev/null +++ b/Build/Data/device/655491249/data/profile_offline_1.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "BB3D9CF2-7063-4b37-85B5-B8C9F38D819A", + "Name": "GK64S-1", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491249/data/profile_offline_2.json b/Build/Data/device/655491249/data/profile_offline_2.json new file mode 100644 index 0000000..19a7721 --- /dev/null +++ b/Build/Data/device/655491249/data/profile_offline_2.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "72DAFC80-5562-4da1-A2FF-9B1C493D2F3F", + "Name": "GK64S-2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491249/data/profile_offline_3.json b/Build/Data/device/655491249/data/profile_offline_3.json new file mode 100644 index 0000000..1d030c5 --- /dev/null +++ b/Build/Data/device/655491249/data/profile_offline_3.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "9026B029-F1D1-4cff-9478-775D082ADBAF", + "Name": "GK64S-3", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+C", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+V", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/655491249/data/profile_offline_std.json b/Build/Data/device/655491249/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/655491249/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/655491249/data/profile_online_1.json b/Build/Data/device/655491249/data/profile_online_1.json new file mode 100644 index 0000000..25871c4 --- /dev/null +++ b/Build/Data/device/655491249/data/profile_online_1.json @@ -0,0 +1,745 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491249, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/655491249/img/img.zip b/Build/Data/device/655491249/img/img.zip new file mode 100644 index 0000000000000000000000000000000000000000..13da09591d8345bbd83fd03721a490eb66e4302d GIT binary patch literal 112423 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�+IRHWKcn~t32KTH~>_0e&JInMfoKr8( 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 literal 0 HcmV?d00001 diff --git a/Build/Data/device/656801793/config.json b/Build/Data/device/656801793/config.json new file mode 100644 index 0000000..ee8873b --- /dev/null +++ b/Build/Data/device/656801793/config.json @@ -0,0 +1,116 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + },{ + "id": 3, + "name": "板载模式", + "lang": "menu_download_mode", + "icon": "el-icon-download", + "component": "/DownloadMode", + "visible": false, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,67,68,69,70,71,72,73,74,75,76,66,79,77,78] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [17,22,23,24,15,18,19,21,16,20,14,25,26,27,83,88,89,90,81,84,85,87,82,86,80,91,92,93] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [29,31,32,33,34,35,36,37,30,40,38,39,28,95,97,98,99,100,101,102,103,96,106,104,105,94] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [41,52,46,44,48,47,45,43,42,49,50,51,54,53,107,118,112,110,114,113,111,109,108,115,116,117,120,119] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [59,55,57,56,62,58,65,63,64,61,60,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "上灯位", + "lang": "line_above", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,17,22,23,24,15,18,19,21,16,20,14,25,26,27,29,31,32,33,34,35,36,37,30,40,38,39,28,41,52,46,44,48,47,45,43,42,49,50,51,54,53,59,55,57,56,62,58,65,63,64,61,60] + },{ + "title": "下灯位", + "lang": "line_below", + "lcodes": [67,68,69,70,71,72,73,74,75,76,66,79,77,78,83,88,89,90,81,84,85,87,82,86,80,91,92,93,95,97,98,99,100,101,102,103,96,106,104,105,94,107,118,112,110,114,113,111,109,108,115,116,117,120,119,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "LOGO", + "lang": "line_logo", + "lcodes": [132,133,134,135,136,137] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801793/data/keymap.js b/Build/Data/device/656801793/data/keymap.js new file mode 100644 index 0000000..c3f5ee9 --- /dev/null +++ b/Build/Data/device/656801793/data/keymap.js @@ -0,0 +1,1520 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 60, + "Position": { + "Left": 688, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 55, + "Position": { + "Left": 70, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 41, + "Position": { + "Left": 70, + "Top": 342, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 57, + "Position": { + "Left": 250, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 56, + "Position": { + "Left": 160, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 62, + "Position": { + "Left": 848, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 52, + "Position": { + "Left": 920, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 29, + "Position": { + "Left": 196, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 46, + "Position": { + "Left": 496, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 44, + "Position": { + "Left": 356, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 31, + "Position": { + "Left": 337, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 17, + "Position": { + "Left": 318, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 32, + "Position": { + "Left": 407, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 33, + "Position": { + "Left": 478, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 34, + "Position": { + "Left": 550, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 22, + "Position": { + "Left": 672, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 35, + "Position": { + "Left": 620, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 36, + "Position": { + "Left": 690, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 37, + "Position": { + "Left": 762, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 48, + "Position": { + "Left": 638, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 47, + "Position": { + "Left": 566, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 23, + "Position": { + "Left": 743, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 24, + "Position": { + "Left": 814, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 15, + "Position": { + "Left": 176, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 18, + "Position": { + "Left": 390, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 30, + "Position": { + "Left": 266, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 19, + "Position": { + "Left": 460, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 21, + "Position": { + "Left": 602, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 45, + "Position": { + "Left": 426, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 16, + "Position": { + "Left": 248, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 43, + "Position": { + "Left": 283, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 20, + "Position": { + "Left": 530, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 42, + "Position": { + "Left": 213, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 1, + "Position": { + "Left": 144, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 2, + "Position": { + "Left": 212, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 3, + "Position": { + "Left": 283, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 4, + "Position": { + "Left": 354, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 5, + "Position": { + "Left": 424, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 6, + "Position": { + "Left": 496, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 7, + "Position": { + "Left": 566, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 8, + "Position": { + "Left": 637, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 9, + "Position": { + "Left": 708, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 10, + "Position": { + "Left": 778, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 40, + "Position": { + "Left": 973, + "Top": 271, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 70, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 13, + "Position": { + "Left": 992, + "Top": 130, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 14, + "Position": { + "Left": 70, + "Top": 200, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 58, + "Position": { + "Left": 340, + "Top": 414, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 11, + "Position": { + "Left": 848, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 12, + "Position": { + "Left": 920, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 25, + "Position": { + "Left": 885, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 26, + "Position": { + "Left": 956, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 27, + "Position": { + "Left": 1026, + "Top": 200, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 38, + "Position": { + "Left": 832, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 39, + "Position": { + "Left": 902, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 49, + "Position": { + "Left": 707, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 50, + "Position": { + "Left": 778, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 51, + "Position": { + "Left": 848, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 28, + "Position": { + "Left": 70, + "Top": 271, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 54, + "Position": { + "Left": 1062, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 65, + "Position": { + "Left": 1062, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 63, + "Position": { + "Left": 920, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 64, + "Position": { + "Left": 990, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 53, + "Position": { + "Left": 990, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 61, + "Position": { + "Left": 778, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Fnx", + "Show": "Fnx", + "LogicCode": 109, + "LocationCode": 59, + "Position": { + "Left": 534, + "Top": 414, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED Fn", + "Show": "Fn", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 688, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 70, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 70, + "Top": 376, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "LED Left Alt", + "Show": "Alt", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 250, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left GUI", + "Show": "Win", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 160, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Right Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 848, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 920, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED A", + "Show": "A", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 196, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED B", + "Show": "B", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 496, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED C", + "Show": "C", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 356, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED D", + "Show": "D", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 337, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED E", + "Show": "E", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 318, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED F", + "Show": "F", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 407, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED G", + "Show": "G", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 478, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED H", + "Show": "H", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 550, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED I", + "Show": "I", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 672, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED J", + "Show": "J", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 620, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED K", + "Show": "K", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 690, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED L", + "Show": "L", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 762, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED M", + "Show": "M", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 638, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED N", + "Show": "N", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 566, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED O", + "Show": "O", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 743, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED P", + "Show": "P", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 814, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Q", + "Show": "Q", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 176, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED R", + "Show": "R", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 390, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED S", + "Show": "S", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 266, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED T", + "Show": "T", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 460, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED U", + "Show": "U", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 602, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED V", + "Show": "V", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 426, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED W", + "Show": "W", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 248, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED X", + "Show": "X", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 283, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Y", + "Show": "Y", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 530, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Z", + "Show": "Z", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 213, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 1", + "Show": "1", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 144, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 2", + "Show": "2", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 212, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 3", + "Show": "3", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 283, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 4", + "Show": "4", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 354, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 5", + "Show": "5", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 424, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 6", + "Show": "6", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 496, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 7", + "Show": "7", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 566, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 8", + "Show": "8", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 637, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 9", + "Show": "9", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 708, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 0", + "Show": "0", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 778, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Return", + "Show": "Enter", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 973, + "Top": 305, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "LED Escape", + "Show": "Esc", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 70, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Backspace", + "Show": "←", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 992, + "Top": 164, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "LED Tab", + "Show": "Tab", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 70, + "Top": 234, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "LED Space", + "Show": "Space", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 340, + "Top": 448, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "LED -", + "Show": "-", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 848, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED =", + "Show": "=", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 920, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED [", + "Show": "[", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 885, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ]", + "Show": "]", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 956, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED |", + "Show": "|", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 1026, + "Top": 234, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": "LED ;", + "Show": ";", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 832, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED '", + "Show": "'", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 902, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ,", + "Show": ",", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 707, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED .", + "Show": ".", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 778, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED /", + "Show": "/", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 848, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Caps Lock", + "Show": "Caps L", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 70, + "Top": 305, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "LED Delete", + "Show": "Del", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 1062, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Arrow", + "Show": "→", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 1062, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Left Arrow", + "Show": "←", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 920, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Down Arrow", + "Show": "↓", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 990, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Up Arrow", + "Show": "↑", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 990, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED App", + "Show": "App", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 778, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Fnx", + "Show": "Fnx", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 534, + "Top": 448, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED left 1", + "Show": "led1", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 53, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 2", + "Show": "led2", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 53, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 3", + "Show": "led3", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 53, + "Top": 362, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 1", + "Show": "led4", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 1126, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 2", + "Show": "led5", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 1126, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 3", + "Show": "led6", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 1126, + "Top": 362, + "Width": 20, + "Height": 118 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801793/data/profile.json b/Build/Data/device/656801793/data/profile.json new file mode 100644 index 0000000..9e42067 --- /dev/null +++ b/Build/Data/device/656801793/data/profile.json @@ -0,0 +1,757 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801793/data/profile_offline_1.json b/Build/Data/device/656801793/data/profile_offline_1.json new file mode 100644 index 0000000..3f4b3d4 --- /dev/null +++ b/Build/Data/device/656801793/data/profile_offline_1.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "layer_onboard_1", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "65FF33CB-5FD5-4a72-B29A-DF62E6DC7311", + "Name": "fn1_65", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801793/data/profile_offline_2.json b/Build/Data/device/656801793/data/profile_offline_2.json new file mode 100644 index 0000000..3336412 --- /dev/null +++ b/Build/Data/device/656801793/data/profile_offline_2.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "layer_onboard_2", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "3651411A-6076-4586-B21F-F3BD42566630", + "Name": "fn2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "RAlt", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "RWin", + "DriverValue": "0x02000080", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801793/data/profile_offline_3.json b/Build/Data/device/656801793/data/profile_offline_3.json new file mode 100644 index 0000000..73f4c5a --- /dev/null +++ b/Build/Data/device/656801793/data/profile_offline_3.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "layer_onboard_3", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "4E18397D-19A4-419c-8DE7-34FE1DFB8634", + "Name": "fn3_69_66", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "复制", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "粘贴", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801793/data/profile_offline_std.json b/Build/Data/device/656801793/data/profile_offline_std.json new file mode 100644 index 0000000..5a3ac34 --- /dev/null +++ b/Build/Data/device/656801793/data/profile_offline_std.json @@ -0,0 +1,23 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "3504C1C0-6EC5-4b6d-A3E5-6A28A279A620", + "Name": "上下灯位全亮_66" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "65F5A876-E4E1-4bd5-9543-781AC3DAC791", + "Name": "66纯绿ESC变化" + }, { + "GUID": "2B229551-3D2C-4cae-AF77-5AFF1CE21CEB", + "Name": "灯效 64" + }, { + "GUID": "5DC44DDE-914E-4090-9C21-6FA3E649B449", + "Name": "GK66彩虹波" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/656801793/data/profile_online_1.json b/Build/Data/device/656801793/data/profile_online_1.json new file mode 100644 index 0000000..bb29502 --- /dev/null +++ b/Build/Data/device/656801793/data/profile_online_1.json @@ -0,0 +1,698 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801793, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a080002", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801795/config.json b/Build/Data/device/656801795/config.json new file mode 100644 index 0000000..ee8873b --- /dev/null +++ b/Build/Data/device/656801795/config.json @@ -0,0 +1,116 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + },{ + "id": 3, + "name": "板载模式", + "lang": "menu_download_mode", + "icon": "el-icon-download", + "component": "/DownloadMode", + "visible": false, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,67,68,69,70,71,72,73,74,75,76,66,79,77,78] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [17,22,23,24,15,18,19,21,16,20,14,25,26,27,83,88,89,90,81,84,85,87,82,86,80,91,92,93] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [29,31,32,33,34,35,36,37,30,40,38,39,28,95,97,98,99,100,101,102,103,96,106,104,105,94] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [41,52,46,44,48,47,45,43,42,49,50,51,54,53,107,118,112,110,114,113,111,109,108,115,116,117,120,119] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [59,55,57,56,62,58,65,63,64,61,60,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "上灯位", + "lang": "line_above", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,17,22,23,24,15,18,19,21,16,20,14,25,26,27,29,31,32,33,34,35,36,37,30,40,38,39,28,41,52,46,44,48,47,45,43,42,49,50,51,54,53,59,55,57,56,62,58,65,63,64,61,60] + },{ + "title": "下灯位", + "lang": "line_below", + "lcodes": [67,68,69,70,71,72,73,74,75,76,66,79,77,78,83,88,89,90,81,84,85,87,82,86,80,91,92,93,95,97,98,99,100,101,102,103,96,106,104,105,94,107,118,112,110,114,113,111,109,108,115,116,117,120,119,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "LOGO", + "lang": "line_logo", + "lcodes": [132,133,134,135,136,137] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801795/data/keymap.js b/Build/Data/device/656801795/data/keymap.js new file mode 100644 index 0000000..5873f05 --- /dev/null +++ b/Build/Data/device/656801795/data/keymap.js @@ -0,0 +1,816 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 60, + "Position": { + "Left": 688, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 55, + "Position": { + "Left": 70, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 41, + "Position": { + "Left": 70, + "Top": 342, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 57, + "Position": { + "Left": 250, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 56, + "Position": { + "Left": 160, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 62, + "Position": { + "Left": 848, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 52, + "Position": { + "Left": 920, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 29, + "Position": { + "Left": 196, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 46, + "Position": { + "Left": 496, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 44, + "Position": { + "Left": 356, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 31, + "Position": { + "Left": 337, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 17, + "Position": { + "Left": 318, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 32, + "Position": { + "Left": 407, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 33, + "Position": { + "Left": 478, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 34, + "Position": { + "Left": 550, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 22, + "Position": { + "Left": 672, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 35, + "Position": { + "Left": 620, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 36, + "Position": { + "Left": 690, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 37, + "Position": { + "Left": 762, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 48, + "Position": { + "Left": 638, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 47, + "Position": { + "Left": 566, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 23, + "Position": { + "Left": 743, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 24, + "Position": { + "Left": 814, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 15, + "Position": { + "Left": 176, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 18, + "Position": { + "Left": 390, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 30, + "Position": { + "Left": 266, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 19, + "Position": { + "Left": 460, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 21, + "Position": { + "Left": 602, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 45, + "Position": { + "Left": 426, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 16, + "Position": { + "Left": 248, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 43, + "Position": { + "Left": 283, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 20, + "Position": { + "Left": 530, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 42, + "Position": { + "Left": 213, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 1, + "Position": { + "Left": 144, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 2, + "Position": { + "Left": 212, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 3, + "Position": { + "Left": 283, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 4, + "Position": { + "Left": 354, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 5, + "Position": { + "Left": 424, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 6, + "Position": { + "Left": 496, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 7, + "Position": { + "Left": 566, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 8, + "Position": { + "Left": 637, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 9, + "Position": { + "Left": 708, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 10, + "Position": { + "Left": 778, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 40, + "Position": { + "Left": 973, + "Top": 271, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 70, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 13, + "Position": { + "Left": 992, + "Top": 130, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 14, + "Position": { + "Left": 70, + "Top": 200, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 58, + "Position": { + "Left": 340, + "Top": 414, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 11, + "Position": { + "Left": 848, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 12, + "Position": { + "Left": 920, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 25, + "Position": { + "Left": 885, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 26, + "Position": { + "Left": 956, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 27, + "Position": { + "Left": 1026, + "Top": 200, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 38, + "Position": { + "Left": 832, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 39, + "Position": { + "Left": 902, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 49, + "Position": { + "Left": 707, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 50, + "Position": { + "Left": 778, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 51, + "Position": { + "Left": 848, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 28, + "Position": { + "Left": 70, + "Top": 271, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 54, + "Position": { + "Left": 1062, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 65, + "Position": { + "Left": 1062, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 63, + "Position": { + "Left": 920, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 64, + "Position": { + "Left": 990, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 53, + "Position": { + "Left": 990, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 61, + "Position": { + "Left": 778, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Fnx", + "Show": "Fnx", + "LogicCode": 109, + "LocationCode": 59, + "Position": { + "Left": 534, + "Top": 414, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED Fn", + "Show": "Fn", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 688, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Escape", + "Show": "Esc", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 70, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED left 1", + "Show": "led1", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 53, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 2", + "Show": "led2", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 53, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 3", + "Show": "led3", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 53, + "Top": 362, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 1", + "Show": "led4", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 1126, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 2", + "Show": "led5", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 1126, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 3", + "Show": "led6", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 1126, + "Top": 362, + "Width": 20, + "Height": 118 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801795/data/profile.json b/Build/Data/device/656801795/data/profile.json new file mode 100644 index 0000000..9e42067 --- /dev/null +++ b/Build/Data/device/656801795/data/profile.json @@ -0,0 +1,757 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801795/data/profile_offline_1.json b/Build/Data/device/656801795/data/profile_offline_1.json new file mode 100644 index 0000000..3f4b3d4 --- /dev/null +++ b/Build/Data/device/656801795/data/profile_offline_1.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "layer_onboard_1", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "65FF33CB-5FD5-4a72-B29A-DF62E6DC7311", + "Name": "fn1_65", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801795/data/profile_offline_2.json b/Build/Data/device/656801795/data/profile_offline_2.json new file mode 100644 index 0000000..05ca6fa --- /dev/null +++ b/Build/Data/device/656801795/data/profile_offline_2.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "layer_onboard_2", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "3651411A-6076-4586-B21F-F3BD42566630", + "Name": "fn2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "RAlt", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "RWin", + "DriverValue": "0x02000080", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801795/data/profile_offline_3.json b/Build/Data/device/656801795/data/profile_offline_3.json new file mode 100644 index 0000000..73f4c5a --- /dev/null +++ b/Build/Data/device/656801795/data/profile_offline_3.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "layer_onboard_3", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "4E18397D-19A4-419c-8DE7-34FE1DFB8634", + "Name": "fn3_69_66", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "复制", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "粘贴", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801795/data/profile_offline_std.json b/Build/Data/device/656801795/data/profile_offline_std.json new file mode 100644 index 0000000..5a3ac34 --- /dev/null +++ b/Build/Data/device/656801795/data/profile_offline_std.json @@ -0,0 +1,23 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "3504C1C0-6EC5-4b6d-A3E5-6A28A279A620", + "Name": "上下灯位全亮_66" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "65F5A876-E4E1-4bd5-9543-781AC3DAC791", + "Name": "66纯绿ESC变化" + }, { + "GUID": "2B229551-3D2C-4cae-AF77-5AFF1CE21CEB", + "Name": "灯效 64" + }, { + "GUID": "5DC44DDE-914E-4090-9C21-6FA3E649B449", + "Name": "GK66彩虹波" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/656801795/data/profile_online_1.json b/Build/Data/device/656801795/data/profile_online_1.json new file mode 100644 index 0000000..d2e01ca --- /dev/null +++ b/Build/Data/device/656801795/data/profile_online_1.json @@ -0,0 +1,698 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801795, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a080002", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801796/config.json b/Build/Data/device/656801796/config.json new file mode 100644 index 0000000..ee8873b --- /dev/null +++ b/Build/Data/device/656801796/config.json @@ -0,0 +1,116 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + },{ + "id": 3, + "name": "板载模式", + "lang": "menu_download_mode", + "icon": "el-icon-download", + "component": "/DownloadMode", + "visible": false, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,67,68,69,70,71,72,73,74,75,76,66,79,77,78] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [17,22,23,24,15,18,19,21,16,20,14,25,26,27,83,88,89,90,81,84,85,87,82,86,80,91,92,93] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [29,31,32,33,34,35,36,37,30,40,38,39,28,95,97,98,99,100,101,102,103,96,106,104,105,94] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [41,52,46,44,48,47,45,43,42,49,50,51,54,53,107,118,112,110,114,113,111,109,108,115,116,117,120,119] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [59,55,57,56,62,58,65,63,64,61,60,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "上灯位", + "lang": "line_above", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,17,22,23,24,15,18,19,21,16,20,14,25,26,27,29,31,32,33,34,35,36,37,30,40,38,39,28,41,52,46,44,48,47,45,43,42,49,50,51,54,53,59,55,57,56,62,58,65,63,64,61,60] + },{ + "title": "下灯位", + "lang": "line_below", + "lcodes": [67,68,69,70,71,72,73,74,75,76,66,79,77,78,83,88,89,90,81,84,85,87,82,86,80,91,92,93,95,97,98,99,100,101,102,103,96,106,104,105,94,107,118,112,110,114,113,111,109,108,115,116,117,120,119,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "LOGO", + "lang": "line_logo", + "lcodes": [132,133,134,135,136,137] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801796/data/keymap.js b/Build/Data/device/656801796/data/keymap.js new file mode 100644 index 0000000..5873f05 --- /dev/null +++ b/Build/Data/device/656801796/data/keymap.js @@ -0,0 +1,816 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 60, + "Position": { + "Left": 688, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 55, + "Position": { + "Left": 70, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 41, + "Position": { + "Left": 70, + "Top": 342, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 57, + "Position": { + "Left": 250, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 56, + "Position": { + "Left": 160, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 62, + "Position": { + "Left": 848, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 52, + "Position": { + "Left": 920, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 29, + "Position": { + "Left": 196, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 46, + "Position": { + "Left": 496, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 44, + "Position": { + "Left": 356, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 31, + "Position": { + "Left": 337, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 17, + "Position": { + "Left": 318, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 32, + "Position": { + "Left": 407, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 33, + "Position": { + "Left": 478, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 34, + "Position": { + "Left": 550, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 22, + "Position": { + "Left": 672, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 35, + "Position": { + "Left": 620, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 36, + "Position": { + "Left": 690, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 37, + "Position": { + "Left": 762, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 48, + "Position": { + "Left": 638, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 47, + "Position": { + "Left": 566, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 23, + "Position": { + "Left": 743, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 24, + "Position": { + "Left": 814, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 15, + "Position": { + "Left": 176, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 18, + "Position": { + "Left": 390, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 30, + "Position": { + "Left": 266, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 19, + "Position": { + "Left": 460, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 21, + "Position": { + "Left": 602, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 45, + "Position": { + "Left": 426, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 16, + "Position": { + "Left": 248, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 43, + "Position": { + "Left": 283, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 20, + "Position": { + "Left": 530, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 42, + "Position": { + "Left": 213, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 1, + "Position": { + "Left": 144, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 2, + "Position": { + "Left": 212, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 3, + "Position": { + "Left": 283, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 4, + "Position": { + "Left": 354, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 5, + "Position": { + "Left": 424, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 6, + "Position": { + "Left": 496, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 7, + "Position": { + "Left": 566, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 8, + "Position": { + "Left": 637, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 9, + "Position": { + "Left": 708, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 10, + "Position": { + "Left": 778, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 40, + "Position": { + "Left": 973, + "Top": 271, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 70, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 13, + "Position": { + "Left": 992, + "Top": 130, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 14, + "Position": { + "Left": 70, + "Top": 200, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 58, + "Position": { + "Left": 340, + "Top": 414, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 11, + "Position": { + "Left": 848, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 12, + "Position": { + "Left": 920, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 25, + "Position": { + "Left": 885, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 26, + "Position": { + "Left": 956, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 27, + "Position": { + "Left": 1026, + "Top": 200, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 38, + "Position": { + "Left": 832, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 39, + "Position": { + "Left": 902, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 49, + "Position": { + "Left": 707, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 50, + "Position": { + "Left": 778, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 51, + "Position": { + "Left": 848, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 28, + "Position": { + "Left": 70, + "Top": 271, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 54, + "Position": { + "Left": 1062, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 65, + "Position": { + "Left": 1062, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 63, + "Position": { + "Left": 920, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 64, + "Position": { + "Left": 990, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 53, + "Position": { + "Left": 990, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 61, + "Position": { + "Left": 778, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Fnx", + "Show": "Fnx", + "LogicCode": 109, + "LocationCode": 59, + "Position": { + "Left": 534, + "Top": 414, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED Fn", + "Show": "Fn", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 688, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Escape", + "Show": "Esc", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 70, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED left 1", + "Show": "led1", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 53, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 2", + "Show": "led2", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 53, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 3", + "Show": "led3", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 53, + "Top": 362, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 1", + "Show": "led4", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 1126, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 2", + "Show": "led5", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 1126, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 3", + "Show": "led6", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 1126, + "Top": 362, + "Width": 20, + "Height": 118 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801796/data/profile.json b/Build/Data/device/656801796/data/profile.json new file mode 100644 index 0000000..9e42067 --- /dev/null +++ b/Build/Data/device/656801796/data/profile.json @@ -0,0 +1,757 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801796/data/profile_offline_1.json b/Build/Data/device/656801796/data/profile_offline_1.json new file mode 100644 index 0000000..3f4b3d4 --- /dev/null +++ b/Build/Data/device/656801796/data/profile_offline_1.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "layer_onboard_1", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "65FF33CB-5FD5-4a72-B29A-DF62E6DC7311", + "Name": "fn1_65", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801796/data/profile_offline_2.json b/Build/Data/device/656801796/data/profile_offline_2.json new file mode 100644 index 0000000..05ca6fa --- /dev/null +++ b/Build/Data/device/656801796/data/profile_offline_2.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "layer_onboard_2", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "3651411A-6076-4586-B21F-F3BD42566630", + "Name": "fn2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "RAlt", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "RWin", + "DriverValue": "0x02000080", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801796/data/profile_offline_3.json b/Build/Data/device/656801796/data/profile_offline_3.json new file mode 100644 index 0000000..73f4c5a --- /dev/null +++ b/Build/Data/device/656801796/data/profile_offline_3.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "layer_onboard_3", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "4E18397D-19A4-419c-8DE7-34FE1DFB8634", + "Name": "fn3_69_66", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "复制", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "粘贴", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801796/data/profile_offline_std.json b/Build/Data/device/656801796/data/profile_offline_std.json new file mode 100644 index 0000000..5a3ac34 --- /dev/null +++ b/Build/Data/device/656801796/data/profile_offline_std.json @@ -0,0 +1,23 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "3504C1C0-6EC5-4b6d-A3E5-6A28A279A620", + "Name": "上下灯位全亮_66" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "65F5A876-E4E1-4bd5-9543-781AC3DAC791", + "Name": "66纯绿ESC变化" + }, { + "GUID": "2B229551-3D2C-4cae-AF77-5AFF1CE21CEB", + "Name": "灯效 64" + }, { + "GUID": "5DC44DDE-914E-4090-9C21-6FA3E649B449", + "Name": "GK66彩虹波" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/656801796/data/profile_online_1.json b/Build/Data/device/656801796/data/profile_online_1.json new file mode 100644 index 0000000..64e05cc --- /dev/null +++ b/Build/Data/device/656801796/data/profile_online_1.json @@ -0,0 +1,698 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801796, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a080002", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801797/config.json b/Build/Data/device/656801797/config.json new file mode 100644 index 0000000..ee8873b --- /dev/null +++ b/Build/Data/device/656801797/config.json @@ -0,0 +1,116 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + },{ + "id": 3, + "name": "板载模式", + "lang": "menu_download_mode", + "icon": "el-icon-download", + "component": "/DownloadMode", + "visible": false, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,67,68,69,70,71,72,73,74,75,76,66,79,77,78] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [17,22,23,24,15,18,19,21,16,20,14,25,26,27,83,88,89,90,81,84,85,87,82,86,80,91,92,93] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [29,31,32,33,34,35,36,37,30,40,38,39,28,95,97,98,99,100,101,102,103,96,106,104,105,94] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [41,52,46,44,48,47,45,43,42,49,50,51,54,53,107,118,112,110,114,113,111,109,108,115,116,117,120,119] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [59,55,57,56,62,58,65,63,64,61,60,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "上灯位", + "lang": "line_above", + "lcodes": [1,2,3,4,5,6,7,8,9,10,0,13,11,12,17,22,23,24,15,18,19,21,16,20,14,25,26,27,29,31,32,33,34,35,36,37,30,40,38,39,28,41,52,46,44,48,47,45,43,42,49,50,51,54,53,59,55,57,56,62,58,65,63,64,61,60] + },{ + "title": "下灯位", + "lang": "line_below", + "lcodes": [67,68,69,70,71,72,73,74,75,76,66,79,77,78,83,88,89,90,81,84,85,87,82,86,80,91,92,93,95,97,98,99,100,101,102,103,96,106,104,105,94,107,118,112,110,114,113,111,109,108,115,116,117,120,119,125,121,123,122,128,124,131,129,130,127,126] + },{ + "title": "LOGO", + "lang": "line_logo", + "lcodes": [132,133,134,135,136,137] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801797/data/keymap.js b/Build/Data/device/656801797/data/keymap.js new file mode 100644 index 0000000..c3f5ee9 --- /dev/null +++ b/Build/Data/device/656801797/data/keymap.js @@ -0,0 +1,1520 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 60, + "Position": { + "Left": 688, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 55, + "Position": { + "Left": 70, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 41, + "Position": { + "Left": 70, + "Top": 342, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 57, + "Position": { + "Left": 250, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 56, + "Position": { + "Left": 160, + "Top": 414, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 62, + "Position": { + "Left": 848, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 52, + "Position": { + "Left": 920, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 29, + "Position": { + "Left": 196, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 46, + "Position": { + "Left": 496, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 44, + "Position": { + "Left": 356, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 31, + "Position": { + "Left": 337, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 17, + "Position": { + "Left": 318, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 32, + "Position": { + "Left": 407, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 33, + "Position": { + "Left": 478, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 34, + "Position": { + "Left": 550, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 22, + "Position": { + "Left": 672, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 35, + "Position": { + "Left": 620, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 36, + "Position": { + "Left": 690, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 37, + "Position": { + "Left": 762, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 48, + "Position": { + "Left": 638, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 47, + "Position": { + "Left": 566, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 23, + "Position": { + "Left": 743, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 24, + "Position": { + "Left": 814, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 15, + "Position": { + "Left": 176, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 18, + "Position": { + "Left": 390, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 30, + "Position": { + "Left": 266, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 19, + "Position": { + "Left": 460, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 21, + "Position": { + "Left": 602, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 45, + "Position": { + "Left": 426, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 16, + "Position": { + "Left": 248, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 43, + "Position": { + "Left": 283, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 20, + "Position": { + "Left": 530, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 42, + "Position": { + "Left": 213, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 1, + "Position": { + "Left": 144, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 2, + "Position": { + "Left": 212, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 3, + "Position": { + "Left": 283, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 4, + "Position": { + "Left": 354, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 5, + "Position": { + "Left": 424, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 6, + "Position": { + "Left": 496, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 7, + "Position": { + "Left": 566, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 8, + "Position": { + "Left": 637, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 9, + "Position": { + "Left": 708, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 10, + "Position": { + "Left": 778, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 40, + "Position": { + "Left": 973, + "Top": 271, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 70, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 13, + "Position": { + "Left": 992, + "Top": 130, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 14, + "Position": { + "Left": 70, + "Top": 200, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 58, + "Position": { + "Left": 340, + "Top": 414, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 11, + "Position": { + "Left": 848, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 12, + "Position": { + "Left": 920, + "Top": 130, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 25, + "Position": { + "Left": 885, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 26, + "Position": { + "Left": 956, + "Top": 200, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 27, + "Position": { + "Left": 1026, + "Top": 200, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 38, + "Position": { + "Left": 832, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 39, + "Position": { + "Left": 902, + "Top": 271, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 49, + "Position": { + "Left": 707, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 50, + "Position": { + "Left": 778, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 51, + "Position": { + "Left": 848, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 28, + "Position": { + "Left": 70, + "Top": 271, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 54, + "Position": { + "Left": 1062, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 65, + "Position": { + "Left": 1062, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 63, + "Position": { + "Left": 920, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 64, + "Position": { + "Left": 990, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 53, + "Position": { + "Left": 990, + "Top": 342, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 61, + "Position": { + "Left": 778, + "Top": 414, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "Fnx", + "Show": "Fnx", + "LogicCode": 109, + "LocationCode": 59, + "Position": { + "Left": 534, + "Top": 414, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED Fn", + "Show": "Fn", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 688, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 70, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 70, + "Top": 376, + "Width": 138, + "Height": 34 + } + }, { + "KeyName": "LED Left Alt", + "Show": "Alt", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 250, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Left GUI", + "Show": "Win", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 160, + "Top": 448, + "Width": 86, + "Height": 34 + } + }, { + "KeyName": "LED Right Control", + "Show": "Ctrl", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 848, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Shift", + "Show": "Shift", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 920, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED A", + "Show": "A", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 196, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED B", + "Show": "B", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 496, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED C", + "Show": "C", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 356, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED D", + "Show": "D", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 337, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED E", + "Show": "E", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 318, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED F", + "Show": "F", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 407, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED G", + "Show": "G", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 478, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED H", + "Show": "H", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 550, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED I", + "Show": "I", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 672, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED J", + "Show": "J", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 620, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED K", + "Show": "K", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 690, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED L", + "Show": "L", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 762, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED M", + "Show": "M", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 638, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED N", + "Show": "N", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 566, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED O", + "Show": "O", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 743, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED P", + "Show": "P", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 814, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Q", + "Show": "Q", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 176, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED R", + "Show": "R", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 390, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED S", + "Show": "S", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 266, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED T", + "Show": "T", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 460, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED U", + "Show": "U", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 602, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED V", + "Show": "V", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 426, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED W", + "Show": "W", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 248, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED X", + "Show": "X", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 283, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Y", + "Show": "Y", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 530, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Z", + "Show": "Z", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 213, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 1", + "Show": "1", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 144, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 2", + "Show": "2", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 212, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 3", + "Show": "3", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 283, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 4", + "Show": "4", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 354, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 5", + "Show": "5", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 424, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 6", + "Show": "6", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 496, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 7", + "Show": "7", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 566, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 8", + "Show": "8", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 637, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 9", + "Show": "9", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 708, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED 0", + "Show": "0", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 778, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Return", + "Show": "Enter", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 973, + "Top": 305, + "Width": 156, + "Height": 34 + } + }, { + "KeyName": "LED Escape", + "Show": "Esc", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 70, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Backspace", + "Show": "←", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 992, + "Top": 164, + "Width": 136, + "Height": 34 + } + }, { + "KeyName": "LED Tab", + "Show": "Tab", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 70, + "Top": 234, + "Width": 103, + "Height": 34 + } + }, { + "KeyName": "LED Space", + "Show": "Space", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 340, + "Top": 448, + "Width": 190, + "Height": 34 + } + }, { + "KeyName": "LED -", + "Show": "-", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 848, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED =", + "Show": "=", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 920, + "Top": 164, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED [", + "Show": "[", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 885, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ]", + "Show": "]", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 956, + "Top": 234, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED |", + "Show": "|", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 1026, + "Top": 234, + "Width": 102, + "Height": 34 + } + }, { + "KeyName": "LED ;", + "Show": ";", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 832, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED '", + "Show": "'", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 902, + "Top": 305, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED ,", + "Show": ",", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 707, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED .", + "Show": ".", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 778, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED /", + "Show": "/", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 848, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Caps Lock", + "Show": "Caps L", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 70, + "Top": 305, + "Width": 122, + "Height": 34 + } + }, { + "KeyName": "LED Delete", + "Show": "Del", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 1062, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Right Arrow", + "Show": "→", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 1062, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Left Arrow", + "Show": "←", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 920, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Down Arrow", + "Show": "↓", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 990, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Up Arrow", + "Show": "↑", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 990, + "Top": 376, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED App", + "Show": "App", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 778, + "Top": 448, + "Width": 68, + "Height": 34 + } + }, { + "KeyName": "LED Fnx", + "Show": "Fnx", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 534, + "Top": 448, + "Width": 150, + "Height": 34 + } + }, { + "KeyName": "LED left 1", + "Show": "led1", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 53, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 2", + "Show": "led2", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 53, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED left 3", + "Show": "led3", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 53, + "Top": 362, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 1", + "Show": "led4", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 1126, + "Top": 126, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 2", + "Show": "led5", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 1126, + "Top": 244, + "Width": 20, + "Height": 118 + } + }, { + "KeyName": "LED right 3", + "Show": "led6", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 1126, + "Top": 362, + "Width": 20, + "Height": 118 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801797/data/profile.json b/Build/Data/device/656801797/data/profile.json new file mode 100644 index 0000000..9e42067 --- /dev/null +++ b/Build/Data/device/656801797/data/profile.json @@ -0,0 +1,757 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801797/data/profile_offline_1.json b/Build/Data/device/656801797/data/profile_offline_1.json new file mode 100644 index 0000000..3f4b3d4 --- /dev/null +++ b/Build/Data/device/656801797/data/profile_offline_1.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "layer_onboard_1", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "65FF33CB-5FD5-4a72-B29A-DF62E6DC7311", + "Name": "fn1_65", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801797/data/profile_offline_2.json b/Build/Data/device/656801797/data/profile_offline_2.json new file mode 100644 index 0000000..05ca6fa --- /dev/null +++ b/Build/Data/device/656801797/data/profile_offline_2.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "layer_onboard_2", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "3651411A-6076-4586-B21F-F3BD42566630", + "Name": "fn2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "RAlt", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "RWin", + "DriverValue": "0x02000080", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801797/data/profile_offline_3.json b/Build/Data/device/656801797/data/profile_offline_3.json new file mode 100644 index 0000000..73f4c5a --- /dev/null +++ b/Build/Data/device/656801797/data/profile_offline_3.json @@ -0,0 +1,978 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "layer_onboard_3", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "4E18397D-19A4-419c-8DE7-34FE1DFB8634", + "Name": "fn3_69_66", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "复制", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "粘贴", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801797/data/profile_offline_std.json b/Build/Data/device/656801797/data/profile_offline_std.json new file mode 100644 index 0000000..5a3ac34 --- /dev/null +++ b/Build/Data/device/656801797/data/profile_offline_std.json @@ -0,0 +1,23 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "3504C1C0-6EC5-4b6d-A3E5-6A28A279A620", + "Name": "上下灯位全亮_66" + }, { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, { + "GUID": "65F5A876-E4E1-4bd5-9543-781AC3DAC791", + "Name": "66纯绿ESC变化" + }, { + "GUID": "2B229551-3D2C-4cae-AF77-5AFF1CE21CEB", + "Name": "灯效 64" + }, { + "GUID": "5DC44DDE-914E-4090-9C21-6FA3E649B449", + "Name": "GK66彩虹波" + } + ] +} \ No newline at end of file diff --git a/Build/Data/device/656801797/data/profile_online_1.json b/Build/Data/device/656801797/data/profile_online_1.json new file mode 100644 index 0000000..63241ea --- /dev/null +++ b/Build/Data/device/656801797/data/profile_online_1.json @@ -0,0 +1,698 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801797, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a080002", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801798/config.json b/Build/Data/device/656801798/config.json new file mode 100644 index 0000000..0e2c322 --- /dev/null +++ b/Build/Data/device/656801798/config.json @@ -0,0 +1,100 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 611, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0", + "ShowOffsetTop": "0", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,80,72,70,74,73,71,69,68,75,76,77] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [102,99,88,90,89,100,98,94] + },{ + "title": "底灯", + "lang": "line_bottom", + "lcodes": [17,39,61,18,40,62] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801798/data/keymap.js b/Build/Data/device/656801798/data/keymap.js new file mode 100644 index 0000000..7743007 --- /dev/null +++ b/Build/Data/device/656801798/data/keymap.js @@ -0,0 +1,998 @@ +[ + { + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 102, + "Position": { + "Left": 902, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "App", + "Show": "App", + "LogicCode": 1, + "LocationCode": 99, + "Position": { + "Left": 766, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 160, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 160, + "Top": 332, + "Width": 119, + "Height": 50 + } + }, + { + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 296, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 228, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 100, + "Position": { + "Left": 834, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 80, + "Position": { + "Left": 822, + "Top": 332, + "Width": 144, + "Height": 50 + } + }, + { + "KeyName": "Right Alt", + "Show": "Alt", + "LogicCode": 8, + "LocationCode": 98, + "Position": { + "Left": 698, + "Top": 386, + "Width": 64, + "Height": 50 + } + }, + { + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 256, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 498, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 390, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 364, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 352, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 418, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 472, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 526, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 622, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 580, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 634, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 688, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 606, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 552, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 676, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 730, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 244, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 406, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 310, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 460, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 568, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 444, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 298, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 336, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 514, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 282, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 214, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 268, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 322, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 376, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 430, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 484, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 538, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 592, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 646, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 700, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 850, + "Top": 276, + "Width": 116, + "Height": 50 + } + }, + { + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 160, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 862, + "Top": 162, + "Width": 104, + "Height": 50 + } + }, + { + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 160, + "Top": 220, + "Width": 80, + "Height": 50 + } + }, + { + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 364, + "Top": 386, + "Width": 332, + "Height": 50 + } + }, + { + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 754, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 808, + "Top": 162, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 784, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 838, + "Top": 220, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 892, + "Top": 220, + "Width": 74, + "Height": 50 + } + }, + { + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 742, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 796, + "Top": 276, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 660, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 714, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 768, + "Top": 332, + "Width": 50, + "Height": 50 + } + }, + { + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 160, + "Top": 276, + "Width": 90, + "Height": 50 + } + }, + { + "KeyName": "Led-left-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 15, + "Position": { + "Left": 138, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "Led-left-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 138, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "Led-left-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 138, + "Top": 390, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "Led-right-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 16, + "Position": { + "Left": 966, + "Top": 170, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "Led-right-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 38, + "Position": { + "Left": 966, + "Top": 280, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "Led-right-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 60, + "Position": { + "Left": 966, + "Top": 390, + "Width": 20, + "Height": 36 + } + }, + { + "KeyName": "LED-TOP-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 160, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 270, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 19, + "Position": { + "Left": 380, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 20, + "Position": { + "Left": 480, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-5", + "Show": "", + "LogicCode": -1, + "LocationCode": 21, + "Position": { + "Left": 590, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-6", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 700, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-7", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 810, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-TOP-8", + "Show": "", + "LogicCode": -1, + "LocationCode": 41, + "Position": { + "Left": 910, + "Top": 102, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-1", + "Show": "", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 160, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-2", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 270, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-3", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 380, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-4", + "Show": "", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 480, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-5", + "Show": "", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 590, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-6", + "Show": "", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 700, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-7", + "Show": "", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 810, + "Top": 470, + "Width": 50, + "Height": 24 + } + }, + { + "KeyName": "LED-BOTTOM-8", + "Show": "", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 910, + "Top": 470, + "Width": 50, + "Height": 24 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801798/data/profile.json b/Build/Data/device/656801798/data/profile.json new file mode 100644 index 0000000..9b389b9 --- /dev/null +++ b/Build/Data/device/656801798/data/profile.json @@ -0,0 +1,643 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801798/data/profile_offline_1.json b/Build/Data/device/656801798/data/profile_offline_1.json new file mode 100644 index 0000000..00be191 --- /dev/null +++ b/Build/Data/device/656801798/data/profile_offline_1.json @@ -0,0 +1,1207 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "806098FC-F845-4187-898E-8A6259EC6326", + "Name": "61蓝牙版方向键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "↓", + "DriverValue": "0x02005100", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "→", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": 7, + "MenuID": 3, + "MenuName": "Layer2", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "←", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "↑", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801798/data/profile_offline_2.json b/Build/Data/device/656801798/data/profile_offline_2.json new file mode 100644 index 0000000..554fa66 --- /dev/null +++ b/Build/Data/device/656801798/data/profile_offline_2.json @@ -0,0 +1,1207 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "75430B47-A033-4ffa-95E1-41D0DC98393C", + "Name": "61蓝牙版F1-F12" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "App", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": 0, + "MenuID": "", + "MenuName": "/", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+[", + "DriverValue": "0x02002F20", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+]", + "DriverValue": "0x02003020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+\\", + "DriverValue": "0x02003120", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+;", + "DriverValue": "0x02003320", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+'", + "DriverValue": "0x02003420", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+,", + "DriverValue": "0x02003620", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+.", + "DriverValue": "0x02003720", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": 0, + "MenuID": "", + "MenuName": "Right Shift+/", + "DriverValue": "0x02003820", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801798/data/profile_offline_3.json b/Build/Data/device/656801798/data/profile_offline_3.json new file mode 100644 index 0000000..92055ab --- /dev/null +++ b/Build/Data/device/656801798/data/profile_offline_3.json @@ -0,0 +1,1207 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "6F3292E7-9D9B-4166-99A2-C128DAA7E8E5", + "Name": "61蓝牙版功能九键" + }, + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500" + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00" + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "停止", + "DriverValue": "0x030000B7" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801798/data/profile_offline_std.json b/Build/Data/device/656801798/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/656801798/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801798/data/profile_online_1.json b/Build/Data/device/656801798/data/profile_online_1.json new file mode 100644 index 0000000..526add5 --- /dev/null +++ b/Build/Data/device/656801798/data/profile_online_1.json @@ -0,0 +1,724 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 655491238, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801800/config.json b/Build/Data/device/656801800/config.json new file mode 100644 index 0000000..6b6cd9c --- /dev/null +++ b/Build/Data/device/656801800/config.json @@ -0,0 +1,100 @@ +{ + "DeviceType": 0, + "DriverLEKey": 67, + "LeCate": 104, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "Ч", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "һ", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "ڶ", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "", + "lang": "line_fourth", + "lcodes": [66,80,72,70,74,73,71,69,68,75,76,77] + },{ + "title": "", + "lang": "line_fifth", + "lcodes": [102,99,88,90,89,100,98,94] + },{ + "title": "׵", + "lang": "line_bottom", + "lcodes": [17,39,61,18,40,62] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/keymap.js b/Build/Data/device/656801800/data/keymap.js new file mode 100644 index 0000000..431af96 --- /dev/null +++ b/Build/Data/device/656801800/data/keymap.js @@ -0,0 +1,2030 @@ +[{ + "KeyName": "ESC", + "Show": "", + "LogicCode": -1, + "LocationCode": 0, + "Position": { + "Left": 150, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F1", + "Show": "", + "LogicCode": -1, + "LocationCode": 1, + "Position": { + "Left": 230, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F2", + "Show": "", + "LogicCode": -1, + "LocationCode": 2, + "Position": { + "Left": 270, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F3", + "Show": "", + "LogicCode": -1, + "LocationCode": 3, + "Position": { + "Left": 310, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F4", + "Show": "", + "LogicCode": -1, + "LocationCode": 4, + "Position": { + "Left": 350, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F5", + "Show": "", + "LogicCode": 67, + "LocationCode": 5, + "Position": { + "Left": 430, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F6", + "Show": "", + "LogicCode": -1, + "LocationCode": 6, + "Position": { + "Left": 470, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F7", + "Show": "", + "LogicCode": -1, + "LocationCode": 7, + "Position": { + "Left": 510, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F8", + "Show": "", + "LogicCode": -1, + "LocationCode": 8, + "Position": { + "Left": 550, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F9", + "Show": "", + "LogicCode": -1, + "LocationCode": 9, + "Position": { + "Left": 590, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F10", + "Show": "", + "LogicCode": -1, + "LocationCode": 10, + "Position": { + "Left": 630, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F11", + "Show": "", + "LogicCode": -1, + "LocationCode": 11, + "Position": { + "Left": 670, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "F12", + "Show": "", + "LogicCode": -1, + "LocationCode": 12, + "Position": { + "Left": 710, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "PS", + "Show": "", + "LogicCode": -1, + "LocationCode": 13, + "Position": { + "Left": 750, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "SL", + "Show": "", + "LogicCode": -1, + "LocationCode": 14, + "Position": { + "Left": 790, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "PB", + "Show": "", + "LogicCode": -1, + "LocationCode": 15, + "Position": { + "Left": 830, + "Top": 150, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "`", + "Show": "", + "LogicCode": -1, + "LocationCode": 16, + "Position": { + "Left": 150, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "1", + "Show": "", + "LogicCode": -1, + "LocationCode": 17, + "Position": { + "Left": 190, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "2", + "Show": "", + "LogicCode": -1, + "LocationCode": 18, + "Position": { + "Left": 230, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "3", + "Show": "", + "LogicCode": -1, + "LocationCode": 19, + "Position": { + "Left": 270, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "4", + "Show": "", + "LogicCode": -1, + "LocationCode": 20, + "Position": { + "Left": 310, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "5", + "Show": "", + "LogicCode": -1, + "LocationCode": 21, + "Position": { + "Left": 350, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "6", + "Show": "", + "LogicCode": -1, + "LocationCode": 22, + "Position": { + "Left": 390, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "7", + "Show": "", + "LogicCode": -1, + "LocationCode": 23, + "Position": { + "Left": 430, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "8", + "Show": "", + "LogicCode": -1, + "LocationCode": 24, + "Position": { + "Left": 470, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "9", + "Show": "", + "LogicCode": -1, + "LocationCode": 25, + "Position": { + "Left": 510, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "0", + "Show": "", + "LogicCode": -1, + "LocationCode": 26, + "Position": { + "Left": 550, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "-", + "Show": "", + "LogicCode": -1, + "LocationCode": 27, + "Position": { + "Left": 590, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "=", + "Show": "", + "LogicCode": -1, + "LocationCode": 28, + "Position": { + "Left": 630, + "Top": 192, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "backspace", + "Show": "", + "LogicCode": -1, + "LocationCode": 29, + "Position": { + "Left": 670, + "Top": 192, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "insert", + "Show": "", + "LogicCode": -1, + "LocationCode": 30, + "Position": { + "Left": 750, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "home", + "Show": "", + "LogicCode": -1, + "LocationCode": 31, + "Position": { + "Left": 790, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "PU", + "Show": "", + "LogicCode": -1, + "LocationCode": 32, + "Position": { + "Left": 830, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "numlock", + "Show": "", + "LogicCode": -1, + "LocationCode": 33, + "Position": { + "Left": 870, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num/", + "Show": "", + "LogicCode": -1, + "LocationCode": 34, + "Position": { + "Left": 910, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num*", + "Show": "", + "LogicCode": -1, + "LocationCode": 35, + "Position": { + "Left": 950, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num-", + "Show": "", + "LogicCode": -1, + "LocationCode": 36, + "Position": { + "Left": 990, + "Top": 192, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "tab", + "Show": "", + "LogicCode": -1, + "LocationCode": 37, + "Position": { + "Left": 150, + "Top": 234, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "q", + "Show": "", + "LogicCode": -1, + "LocationCode": 38, + "Position": { + "Left": 230, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "w", + "Show": "", + "LogicCode": -1, + "LocationCode": 39, + "Position": { + "Left": 270, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "e", + "Show": "", + "LogicCode": -1, + "LocationCode": 40, + "Position": { + "Left": 310, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "r", + "Show": "", + "LogicCode": -1, + "LocationCode": 41, + "Position": { + "Left": 350, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "t", + "Show": "", + "LogicCode": -1, + "LocationCode": 42, + "Position": { + "Left": 390, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "y", + "Show": "", + "LogicCode": -1, + "LocationCode": 43, + "Position": { + "Left": 430, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "u", + "Show": "", + "LogicCode": -1, + "LocationCode": 44, + "Position": { + "Left": 470, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "i", + "Show": "", + "LogicCode": -1, + "LocationCode": 45, + "Position": { + "Left": 510, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "o", + "Show": "", + "LogicCode": -1, + "LocationCode": 46, + "Position": { + "Left": 550, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "p", + "Show": "", + "LogicCode": -1, + "LocationCode": 47, + "Position": { + "Left": 590, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "[", + "Show": "", + "LogicCode": -1, + "LocationCode": 48, + "Position": { + "Left": 630, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "]", + "Show": "", + "LogicCode": -1, + "LocationCode": 49, + "Position": { + "Left": 670, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "|", + "Show": "", + "LogicCode": -1, + "LocationCode": 50, + "Position": { + "Left": 710, + "Top": 234, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "DEL", + "Show": "", + "LogicCode": -1, + "LocationCode": 51, + "Position": { + "Left": 750, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "END", + "Show": "", + "LogicCode": -1, + "LocationCode": 52, + "Position": { + "Left": 790, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "PD", + "Show": "", + "LogicCode": -1, + "LocationCode": 53, + "Position": { + "Left": 830, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num7", + "Show": "", + "LogicCode": -1, + "LocationCode": 54, + "Position": { + "Left": 870, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num8", + "Show": "", + "LogicCode": -1, + "LocationCode": 55, + "Position": { + "Left": 910, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num9", + "Show": "", + "LogicCode": -1, + "LocationCode": 56, + "Position": { + "Left": 950, + "Top": 234, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num+", + "Show": "", + "LogicCode": -1, + "LocationCode": 57, + "Position": { + "Left": 990, + "Top": 234, + "Width": 40, + "Height": 80, + "Rotate": 0 + } + }, { + "KeyName": "caps", + "Show": "", + "LogicCode": -1, + "LocationCode": 58, + "Position": { + "Left": 150, + "Top": 276, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "a", + "Show": "", + "LogicCode": -1, + "LocationCode": 59, + "Position": { + "Left": 230, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "s", + "Show": "", + "LogicCode": -1, + "LocationCode": 60, + "Position": { + "Left": 270, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "d", + "Show": "", + "LogicCode": -1, + "LocationCode": 61, + "Position": { + "Left": 310, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "f", + "Show": "", + "LogicCode": -1, + "LocationCode": 62, + "Position": { + "Left": 350, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "g", + "Show": "", + "LogicCode": -1, + "LocationCode": 63, + "Position": { + "Left": 390, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "h", + "Show": "", + "LogicCode": -1, + "LocationCode": 64, + "Position": { + "Left": 430, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "j", + "Show": "", + "LogicCode": -1, + "LocationCode": 65, + "Position": { + "Left": 470, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "k", + "Show": "", + "LogicCode": -1, + "LocationCode": 66, + "Position": { + "Left": 510, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "l", + "Show": "", + "LogicCode": -1, + "LocationCode": 67, + "Position": { + "Left": 550, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": ";", + "Show": "", + "LogicCode": -1, + "LocationCode": 68, + "Position": { + "Left": 590, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "'", + "Show": "", + "LogicCode": -1, + "LocationCode": 69, + "Position": { + "Left": 630, + "Top": 276, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "enter", + "Show": "", + "LogicCode": -1, + "LocationCode": 70, + "Position": { + "Left": 670, + "Top": 276, + "Width": 80 , + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "num4", + "Show": "", + "LogicCode": -1, + "LocationCode": 71, + "Position": { + "Left": 870, + "Top": 276, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num5", + "Show": "", + "LogicCode": -1, + "LocationCode": 72, + "Position": { + "Left": 910, + "Top": 276, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num6", + "Show": "", + "LogicCode": -1, + "LocationCode": 73, + "Position": { + "Left": 950, + "Top": 276, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "lshift", + "Show": "", + "LogicCode": -1, + "LocationCode": 74, + "Position": { + "Left": 150, + "Top": 318, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "z", + "Show": "", + "LogicCode": -1, + "LocationCode": 75, + "Position": { + "Left": 230, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "x", + "Show": "", + "LogicCode": -1, + "LocationCode": 76, + "Position": { + "Left": 270, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "c", + "Show": "", + "LogicCode": -1, + "LocationCode": 77, + "Position": { + "Left": 310, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "v", + "Show": "", + "LogicCode": -1, + "LocationCode": 78, + "Position": { + "Left": 350, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "b", + "Show": "", + "LogicCode": -1, + "LocationCode": 79, + "Position": { + "Left": 390, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "n", + "Show": "", + "LogicCode": -1, + "LocationCode": 80, + "Position": { + "Left": 430, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "m", + "Show": "", + "LogicCode": -1, + "LocationCode": 81, + "Position": { + "Left": 470, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": ",", + "Show": "", + "LogicCode": -1, + "LocationCode": 82, + "Position": { + "Left": 510, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": ".", + "Show": "", + "LogicCode": -1, + "LocationCode": 83, + "Position": { + "Left": 550, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "/", + "Show": "", + "LogicCode": -1, + "LocationCode": 84, + "Position": { + "Left": 590, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "rshift", + "Show": "", + "LogicCode": -1, + "LocationCode": 85, + "Position": { + "Left": 630, + "Top": 318, + "Width": 120, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "up", + "Show": "", + "LogicCode": -1, + "LocationCode": 86, + "Position": { + "Left": 790, + "Top": 318, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "num1", + "Show": "", + "LogicCode": -1, + "LocationCode": 87, + "Position": { + "Left": 870, + "Top": 318, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num2", + "Show": "", + "LogicCode": -1, + "LocationCode": 88, + "Position": { + "Left": 910, + "Top": 318, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num3", + "Show": "", + "LogicCode": -1, + "LocationCode": 89, + "Position": { + "Left": 950, + "Top": 318, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "numenter", + "Show": "", + "LogicCode": -1, + "LocationCode": 90, + "Position": { + "Left": 990, + "Top": 318, + "Width": 40, + "Height": 80, + "Rotate": 0 + } + }, { + "KeyName": "lctrl", + "Show": "", + "LogicCode": -1, + "LocationCode": 91, + "Position": { + "Left": 150, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "win", + "Show": "", + "LogicCode": -1, + "LocationCode": 92, + "Position": { + "Left": 190, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "lalt", + "Show": "", + "LogicCode": -1, + "LocationCode": 93, + "Position": { + "Left": 230, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "space", + "Show": "", + "LogicCode": -1, + "LocationCode": 94, + "Position": { + "Left": 270, + "Top": 360, + "Width": 320, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "ralt", + "Show": "", + "LogicCode": -1, + "LocationCode": 95, + "Position": { + "Left": 590, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "fn", + "Show": "", + "LogicCode": -1, + "LocationCode": 96, + "Position": { + "Left": 630, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "menu", + "Show": "", + "LogicCode": -1, + "LocationCode": 97, + "Position": { + "Left": 670, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "rctrl", + "Show": "", + "LogicCode": -1, + "LocationCode": 98, + "Position": { + "Left": 710, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "left", + "Show": "", + "LogicCode": -1, + "LocationCode": 99, + "Position": { + "Left": 750, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "down", + "Show": "", + "LogicCode": -1, + "LocationCode": 100, + "Position": { + "Left": 790, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "right", + "Show": "", + "LogicCode": -1, + "LocationCode": 101, + "Position": { + "Left": 830, + "Top": 360, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "num0", + "Show": "", + "LogicCode": -1, + "LocationCode": 102, + "Position": { + "Left": 870, + "Top": 360, + "Width": 80, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "num.", + "Show": "", + "LogicCode": -1, + "LocationCode": 103, + "Position": { + "Left": 950, + "Top": 360, + "Width": 40, + "Height": 40, + "Rotate": 0 + } + }, { + "KeyName": "led `", + "Show": "", + "LogicCode": -1, + "LocationCode": 104, + "Position": { + "Left": 150, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 1", + "Show": "", + "LogicCode": -1, + "LocationCode": 105, + "Position": { + "Left": 190, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 2", + "Show": "", + "LogicCode": -1, + "LocationCode": 106, + "Position": { + "Left": 230, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 3", + "Show": "", + "LogicCode": -1, + "LocationCode": 107, + "Position": { + "Left": 270, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 4", + "Show": "", + "LogicCode": -1, + "LocationCode": 108, + "Position": { + "Left": 310, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 5", + "Show": "", + "LogicCode": -1, + "LocationCode": 109, + "Position": { + "Left": 350, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 6", + "Show": "", + "LogicCode": -1, + "LocationCode": 110, + "Position": { + "Left": 390, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 7", + "Show": "", + "LogicCode": -1, + "LocationCode": 111, + "Position": { + "Left": 430, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 8", + "Show": "", + "LogicCode": -1, + "LocationCode": 112, + "Position": { + "Left": 470, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 9", + "Show": "", + "LogicCode": -1, + "LocationCode": 113, + "Position": { + "Left": 510, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led 0", + "Show": "", + "LogicCode": -1, + "LocationCode": 114, + "Position": { + "Left": 550, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led -", + "Show": "", + "LogicCode": -1, + "LocationCode": 115, + "Position": { + "Left": 590, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led =", + "Show": "", + "LogicCode": -1, + "LocationCode": 116, + "Position": { + "Left": 630, + "Top": 212, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led backspace", + "Show": "", + "LogicCode": -1, + "LocationCode": 117, + "Position": { + "Left": 670, + "Top": 212, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led tab", + "Show": "", + "LogicCode": -1, + "LocationCode": 118, + "Position": { + "Left": 150, + "Top": 254, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led q", + "Show": "", + "LogicCode": -1, + "LocationCode": 119, + "Position": { + "Left": 230, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led w", + "Show": "", + "LogicCode": -1, + "LocationCode": 120, + "Position": { + "Left": 270, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led e", + "Show": "", + "LogicCode": -1, + "LocationCode": 121, + "Position": { + "Left": 310, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led r", + "Show": "", + "LogicCode": -1, + "LocationCode": 122, + "Position": { + "Left": 350, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led t", + "Show": "", + "LogicCode": -1, + "LocationCode": 123, + "Position": { + "Left": 390, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led y", + "Show": "", + "LogicCode": -1, + "LocationCode": 124, + "Position": { + "Left": 430, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led u", + "Show": "", + "LogicCode": -1, + "LocationCode": 125, + "Position": { + "Left": 470, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led i", + "Show": "", + "LogicCode": -1, + "LocationCode": 126, + "Position": { + "Left": 510, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led o", + "Show": "", + "LogicCode": -1, + "LocationCode": 127, + "Position": { + "Left": 550, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led p", + "Show": "", + "LogicCode": -1, + "LocationCode": 128, + "Position": { + "Left": 590, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led [", + "Show": "", + "LogicCode": -1, + "LocationCode": 129, + "Position": { + "Left": 630, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led ]", + "Show": "", + "LogicCode": -1, + "LocationCode": 130, + "Position": { + "Left": 670, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led |", + "Show": "", + "LogicCode": -1, + "LocationCode": 131, + "Position": { + "Left": 710, + "Top": 254, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led caps", + "Show": "", + "LogicCode": -1, + "LocationCode": 132, + "Position": { + "Left": 150, + "Top": 294, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led a", + "Show": "", + "LogicCode": -1, + "LocationCode": 133, + "Position": { + "Left": 230, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led s", + "Show": "", + "LogicCode": -1, + "LocationCode": 134, + "Position": { + "Left": 270, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led d", + "Show": "", + "LogicCode": -1, + "LocationCode": 135, + "Position": { + "Left": 310, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led f", + "Show": "", + "LogicCode": -1, + "LocationCode": 136, + "Position": { + "Left": 350, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led g", + "Show": "", + "LogicCode": -1, + "LocationCode": 137, + "Position": { + "Left": 390, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led h", + "Show": "", + "LogicCode": -1, + "LocationCode": 138, + "Position": { + "Left": 430, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led j", + "Show": "", + "LogicCode": -1, + "LocationCode": 139, + "Position": { + "Left": 470, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led k", + "Show": "", + "LogicCode": -1, + "LocationCode": 140, + "Position": { + "Left": 510, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led l", + "Show": "", + "LogicCode": -1, + "LocationCode": 141, + "Position": { + "Left": 550, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led ;", + "Show": "", + "LogicCode": -1, + "LocationCode": 142, + "Position": { + "Left": 590, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led '", + "Show": "", + "LogicCode": -1, + "LocationCode": 143, + "Position": { + "Left": 630, + "Top": 294, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led enter", + "Show": "", + "LogicCode": -1, + "LocationCode": 144, + "Position": { + "Left": 670, + "Top": 294, + "Width": 80 , + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led lshift", + "Show": "", + "LogicCode": -1, + "LocationCode": 145, + "Position": { + "Left": 150, + "Top": 338, + "Width": 80, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led z", + "Show": "", + "LogicCode": -1, + "LocationCode": 146, + "Position": { + "Left": 230, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led x", + "Show": "", + "LogicCode": -1, + "LocationCode": 147, + "Position": { + "Left": 270, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led c", + "Show": "", + "LogicCode": -1, + "LocationCode": 148, + "Position": { + "Left": 310, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led v", + "Show": "", + "LogicCode": -1, + "LocationCode": 149, + "Position": { + "Left": 350, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led b", + "Show": "", + "LogicCode": -1, + "LocationCode": 150, + "Position": { + "Left": 390, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led n", + "Show": "", + "LogicCode": -1, + "LocationCode": 151, + "Position": { + "Left": 430, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led m", + "Show": "", + "LogicCode": -1, + "LocationCode": 152, + "Position": { + "Left": 470, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led ,", + "Show": "", + "LogicCode": -1, + "LocationCode": 153, + "Position": { + "Left": 510, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led .", + "Show": "", + "LogicCode": -1, + "LocationCode": 154, + "Position": { + "Left": 550, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led /", + "Show": "", + "LogicCode": -1, + "LocationCode": 155, + "Position": { + "Left": 590, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led rshift", + "Show": "", + "LogicCode": -1, + "LocationCode": 156, + "Position": { + "Left": 630, + "Top": 338, + "Width": 120, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led up", + "Show": "", + "LogicCode": -1, + "LocationCode": 157, + "Position": { + "Left": 790, + "Top": 338, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led lctrl", + "Show": "", + "LogicCode": -1, + "LocationCode": 158, + "Position": { + "Left": 150, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led win", + "Show": "", + "LogicCode": -1, + "LocationCode": 159, + "Position": { + "Left": 190, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led lalt", + "Show": "", + "LogicCode": -1, + "LocationCode": 160, + "Position": { + "Left": 230, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led space", + "Show": "", + "LogicCode": -1, + "LocationCode": 161, + "Position": { + "Left": 270, + "Top": 380, + "Width": 320, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led ralt", + "Show": "", + "LogicCode": -1, + "LocationCode": 162, + "Position": { + "Left": 590, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led fn", + "Show": "", + "LogicCode": -1, + "LocationCode": 163, + "Position": { + "Left": 630, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led menu", + "Show": "", + "LogicCode": -1, + "LocationCode": 164, + "Position": { + "Left": 670, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led rctrl", + "Show": "", + "LogicCode": -1, + "LocationCode": 165, + "Position": { + "Left": 710, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led left", + "Show": "", + "LogicCode": -1, + "LocationCode": 166, + "Position": { + "Left": 750, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led down", + "Show": "", + "LogicCode": -1, + "LocationCode": 167, + "Position": { + "Left": 790, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + }, { + "KeyName": "led right", + "Show": "", + "LogicCode": -1, + "LocationCode": 168, + "Position": { + "Left": 830, + "Top": 380, + "Width": 40, + "Height": 20, + "Rotate": 0 + } + } +] \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile.json b/Build/Data/device/656801800/data/profile.json new file mode 100644 index 0000000..a99b9a7 --- /dev/null +++ b/Build/Data/device/656801800/data/profile.json @@ -0,0 +1,1249 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 655491157, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile_offline_1.json b/Build/Data/device/656801800/data/profile_offline_1.json new file mode 100644 index 0000000..c028ccd --- /dev/null +++ b/Build/Data/device/656801800/data/profile_offline_1.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "553A5737-BCB5-4814-BB16-36B7DFE4329E", + "Name": "大逃杀", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile_offline_2.json b/Build/Data/device/656801800/data/profile_offline_2.json new file mode 100644 index 0000000..9cb2da8 --- /dev/null +++ b/Build/Data/device/656801800/data/profile_offline_2.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "26D4E615-0A05-4208-8295-6E3C333FC98F", + "Name": "LOL", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile_offline_3.json b/Build/Data/device/656801800/data/profile_offline_3.json new file mode 100644 index 0000000..9bf3047 --- /dev/null +++ b/Build/Data/device/656801800/data/profile_offline_3.json @@ -0,0 +1,1246 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "31EFF8B5-3363-4905-924A-B4FC9D31D084", + "Name": "DOTA", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile_offline_std.json b/Build/Data/device/656801800/data/profile_offline_std.json new file mode 100644 index 0000000..814348d --- /dev/null +++ b/Build/Data/device/656801800/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "5B5E3111-051C-4c66-A669-94FDFDEAEC99", + "Name": "全亮绿光" + }, + { + "GUID": "FAE0BFF4-3AF1-4153-AFC6-67739BF584E6", + "Name": "渐变" + }, + { + "GUID": "8D1D899F-4FE1-495a-95E5-0CC00B8614AF", + "Name": "彩虹波" + }, + { + "GUID": "8C807763-E010-49ed-9FFB-501F7CFF5F97", + "Name": "风车" + }, + { + "GUID": "280A8618-920F-4e7f-B8B8-C5A8C586E575", + "Name": "光谱循环" + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801800/data/profile_online_1.json b/Build/Data/device/656801800/data/profile_online_1.json new file mode 100644 index 0000000..87e0669 --- /dev/null +++ b/Build/Data/device/656801800/data/profile_online_1.json @@ -0,0 +1,1253 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801800, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": { + + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }, + { + "GUID": "", + "Name": "" + }], + "KeySet": [{ + "Index": 1, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006500", + "Task": { + "Type": "", + "Data": { + "Type": "Macro", + "GUID": "", + "Repeats": 1, + "StopMode": 1 + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 8, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000040", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 63, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 64, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 65, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 66, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 67, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 68, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 69, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 70, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 71, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 72, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 73, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 74, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 75, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 76, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 77, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 78, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 79, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 80, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 82, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 83, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 88, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 89, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 90, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 91, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 92, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 93, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 94, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 95, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 96, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 97, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 98, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 99, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 100, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 101, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 102, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 103, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, + { + "Index": 104, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02006300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801801/config.json b/Build/Data/device/656801801/config.json new file mode 100644 index 0000000..3606c3c --- /dev/null +++ b/Build/Data/device/656801801/config.json @@ -0,0 +1,108 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,78,72,70,74,73,71,69,68,75,76,77,80,79] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [98,88,90,89,99,94,102,100,101] + }, { + "title": "底灯", + "lang": "line_bottom", + "lcodes": [15,37,59,16,38,60] + }, { + "title": "上灯条", + "lang": "line_top_bar", + "lcodes": [17,18,19,20,21,39,40,41,42,43,61,62,63,64,65,81] + }, { + "title": "下灯条", + "lang": "line_bottom_bar", + "lcodes": [82,83,84,85,86,87,103,104,105,106,107,108,109,125,126,127] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801801/data/keymap.js b/Build/Data/device/656801801/data/keymap.js new file mode 100644 index 0000000..c699022 --- /dev/null +++ b/Build/Data/device/656801801/data/keymap.js @@ -0,0 +1,768 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 98, + "Position": { + "Left": 740, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 200, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 200, + "Top": 332, + "Width": 119, + "Height": 50 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 336, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 268, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 99, + "Position": { + "Left": 794, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 78, + "Position": { + "Left": 848, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 296, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 538, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 430, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 404, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 392, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 458, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 512, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 566, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 662, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 620, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 674, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 728, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 648, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 592, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 716, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 770, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 284, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 446, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 350, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 500, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 608, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 484, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 338, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 376, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 554, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 322, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 254, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 308, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 362, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 416, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 470, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 524, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 578, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 632, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 686, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 740, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 890, + "Top": 276, + "Width": 116, + "Height": 50 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 200, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 902, + "Top": 162, + "Width": 104, + "Height": 50 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 200, + "Top": 220, + "Width": 80, + "Height": 50 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 404, + "Top": 386, + "Width": 332, + "Height": 50 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 794, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 848, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 824, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 878, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 932, + "Top": 220, + "Width": 74, + "Height": 50 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 782, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 836, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 700, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 750, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 800, + "Top": 332, + "Width": 44, + "Height": 50 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 200, + "Top": 276, + "Width": 90, + "Height": 50 + } +}, +{ + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 80, + "Position": { + "Left": 956, + "Top": 330, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 102, + "Position": { + "Left": 956, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 100, + "Position": { + "Left": 848, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 101, + "Position": { + "Left": 902, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 79, + "Position": { + "Left": 902, + "Top": 330, + "Width": 50, + "Height": 50 + } +}] \ No newline at end of file diff --git a/Build/Data/device/656801801/data/profile.json b/Build/Data/device/656801801/data/profile.json new file mode 100644 index 0000000..d2c6dcb --- /dev/null +++ b/Build/Data/device/656801801/data/profile.json @@ -0,0 +1,750 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801801/data/profile_offline_1.json b/Build/Data/device/656801801/data/profile_offline_1.json new file mode 100644 index 0000000..840fd3a --- /dev/null +++ b/Build/Data/device/656801801/data/profile_offline_1.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "BB3D9CF2-7063-4b37-85B5-B8C9F38D819A", + "Name": "GK64S-1", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801801/data/profile_offline_2.json b/Build/Data/device/656801801/data/profile_offline_2.json new file mode 100644 index 0000000..19a7721 --- /dev/null +++ b/Build/Data/device/656801801/data/profile_offline_2.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "72DAFC80-5562-4da1-A2FF-9B1C493D2F3F", + "Name": "GK64S-2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801801/data/profile_offline_3.json b/Build/Data/device/656801801/data/profile_offline_3.json new file mode 100644 index 0000000..1d030c5 --- /dev/null +++ b/Build/Data/device/656801801/data/profile_offline_3.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "9026B029-F1D1-4cff-9478-775D082ADBAF", + "Name": "GK64S-3", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+C", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+V", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801801/data/profile_offline_std.json b/Build/Data/device/656801801/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/656801801/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801801/data/profile_online_1.json b/Build/Data/device/656801801/data/profile_online_1.json new file mode 100644 index 0000000..fac31a2 --- /dev/null +++ b/Build/Data/device/656801801/data/profile_online_1.json @@ -0,0 +1,745 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801801, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801802/config.json b/Build/Data/device/656801802/config.json new file mode 100644 index 0000000..3606c3c --- /dev/null +++ b/Build/Data/device/656801802/config.json @@ -0,0 +1,108 @@ +{ + "DeviceType": 0, + "DriverLEKey": 54, + "LeCate": 1320, + "ShowScalePlus": 0.15, + "ShowOffsetLeft": "0px", + "ShowOffsetTop": "0px", + "IsFnKeySet": true, + "IsFnx": false, + "FuncTable":[{ + "id": 0, + "name": "设置", + "lang": "menu_config_kb", + "icon": "el-icon-kb-keyboard", + "component": "/ConfigKB", + "visible": true, + "disable": false + },{ + "id": 1, + "name": "灯效库", + "lang": "menu_le_lib", + "icon": "el-icon-kb-light", + "component": "/Le", + "visible": true, + "disable": false + },{ + "id": 2, + "name": "宏管理", + "icon": "el-icon-document", + "lang": "menu_macro_lib", + "component": "/Macro", + "visible": true, + "disable": false + }], + "QuickSelect":[{ + "title": "第一行", + "lang": "line_first", + "lcodes": [2,3,4,5,6,7,8,9,10,11,0,14,12,13] + },{ + "title": "第二行", + "lang": "line_second", + "lcodes": [26,31,32,33,24,27,28,30,25,29,22,34,35,36] + },{ + "title": "第三行", + "lang": "line_third", + "lcodes": [46,48,49,50,51,52,53,54,47,58,55,56,44] + },{ + "title": "第四行", + "lang": "line_fourth", + "lcodes": [66,78,72,70,74,73,71,69,68,75,76,77,80,79] + },{ + "title": "第五行", + "lang": "line_fifth", + "lcodes": [98,88,90,89,99,94,102,100,101] + }, { + "title": "底灯", + "lang": "line_bottom", + "lcodes": [15,37,59,16,38,60] + }, { + "title": "上灯条", + "lang": "line_top_bar", + "lcodes": [17,18,19,20,21,39,40,41,42,43,61,62,63,64,65,81] + }, { + "title": "下灯条", + "lang": "line_bottom_bar", + "lcodes": [82,83,84,85,86,87,103,104,105,106,107,108,109,125,126,127] + }], + "UserManual":[{ + "title_lang": "layer_oper", + "items":[{ + "key": "Fn+W", + "desc_lang": "change_onboard_layer_1" + },{ + "key": "Fn+E", + "desc_lang": "change_onboard_layer_2" + },{ + "key": "Fn+R", + "desc_lang": "change_onboard_layer_3" + },{ + "key": "Fn+Q", + "desc_lang": "change_driver_layer_1" + }] + },{ + "title_lang": "le_oper", + "items":[{ + "key": "Fn+]/|", + "desc_lang": "change_std_le" + },{ + "key": "Fn+[", + "desc_lang": "change_le_brightness_inc" + },{ + "key": "Fn+]", + "desc_lang": "change_le_brightness_dec" + },{ + "key": "Fn+↑", + "desc_lang": "change_le_speed_inc" + },{ + "key": "Fn+↓", + "desc_lang": "change_le_speed_dec" + }] + },{ + "title_lang": "system_oper", + "items":[{ + "key": "Fn+ESC+Q", + "desc_lang": "clear_all_config" + }] + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801802/data/keymap.js b/Build/Data/device/656801802/data/keymap.js new file mode 100644 index 0000000..c699022 --- /dev/null +++ b/Build/Data/device/656801802/data/keymap.js @@ -0,0 +1,768 @@ +[{ + "KeyName": "Fn", + "Show": "Fn", + "LogicCode": 0, + "LocationCode": 98, + "Position": { + "Left": 740, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Control", + "Show": "Ctrl", + "LogicCode": 2, + "LocationCode": 88, + "Position": { + "Left": 200, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left Shift", + "Show": "Shift", + "LogicCode": 3, + "LocationCode": 66, + "Position": { + "Left": 200, + "Top": 332, + "Width": 119, + "Height": 50 + } +}, +{ + "KeyName": "Left Alt", + "Show": "Alt", + "LogicCode": 4, + "LocationCode": 90, + "Position": { + "Left": 336, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Left GUI", + "Show": "Win", + "LogicCode": 5, + "LocationCode": 89, + "Position": { + "Left": 268, + "Top": 386, + "Width": 64, + "Height": 50 + } +}, +{ + "KeyName": "Right Control", + "Show": "Ctrl", + "LogicCode": 6, + "LocationCode": 99, + "Position": { + "Left": 794, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Shift", + "Show": "Shift", + "LogicCode": 7, + "LocationCode": 78, + "Position": { + "Left": 848, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "A", + "Show": "A", + "LogicCode": 10, + "LocationCode": 46, + "Position": { + "Left": 296, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "B", + "Show": "B", + "LogicCode": 11, + "LocationCode": 72, + "Position": { + "Left": 538, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "C", + "Show": "C", + "LogicCode": 12, + "LocationCode": 70, + "Position": { + "Left": 430, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "D", + "Show": "D", + "LogicCode": 13, + "LocationCode": 48, + "Position": { + "Left": 404, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "E", + "Show": "E", + "LogicCode": 14, + "LocationCode": 26, + "Position": { + "Left": 392, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "F", + "Show": "F", + "LogicCode": 15, + "LocationCode": 49, + "Position": { + "Left": 458, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "G", + "Show": "G", + "LogicCode": 16, + "LocationCode": 50, + "Position": { + "Left": 512, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "H", + "Show": "H", + "LogicCode": 17, + "LocationCode": 51, + "Position": { + "Left": 566, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "I", + "Show": "I", + "LogicCode": 18, + "LocationCode": 31, + "Position": { + "Left": 662, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "J", + "Show": "J", + "LogicCode": 19, + "LocationCode": 52, + "Position": { + "Left": 620, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "K", + "Show": "K", + "LogicCode": 20, + "LocationCode": 53, + "Position": { + "Left": 674, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "L", + "Show": "L", + "LogicCode": 21, + "LocationCode": 54, + "Position": { + "Left": 728, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "M", + "Show": "M", + "LogicCode": 22, + "LocationCode": 74, + "Position": { + "Left": 648, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "N", + "Show": "N", + "LogicCode": 23, + "LocationCode": 73, + "Position": { + "Left": 592, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "O", + "Show": "O", + "LogicCode": 24, + "LocationCode": 32, + "Position": { + "Left": 716, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "P", + "Show": "P", + "LogicCode": 25, + "LocationCode": 33, + "Position": { + "Left": 770, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Q", + "Show": "Q", + "LogicCode": 26, + "LocationCode": 24, + "Position": { + "Left": 284, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "R", + "Show": "R", + "LogicCode": 27, + "LocationCode": 27, + "Position": { + "Left": 446, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "S", + "Show": "S", + "LogicCode": 28, + "LocationCode": 47, + "Position": { + "Left": 350, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "T", + "Show": "T", + "LogicCode": 29, + "LocationCode": 28, + "Position": { + "Left": 500, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "U", + "Show": "U", + "LogicCode": 30, + "LocationCode": 30, + "Position": { + "Left": 608, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "V", + "Show": "V", + "LogicCode": 31, + "LocationCode": 71, + "Position": { + "Left": 484, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "W", + "Show": "W", + "LogicCode": 32, + "LocationCode": 25, + "Position": { + "Left": 338, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "X", + "Show": "X", + "LogicCode": 33, + "LocationCode": 69, + "Position": { + "Left": 376, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Y", + "Show": "Y", + "LogicCode": 34, + "LocationCode": 29, + "Position": { + "Left": 554, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Z", + "Show": "Z", + "LogicCode": 35, + "LocationCode": 68, + "Position": { + "Left": 322, + "Top": 332, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "1", + "Show": "1", + "LogicCode": 36, + "LocationCode": 2, + "Position": { + "Left": 254, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "2", + "Show": "2", + "LogicCode": 37, + "LocationCode": 3, + "Position": { + "Left": 308, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "3", + "Show": "3", + "LogicCode": 38, + "LocationCode": 4, + "Position": { + "Left": 362, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "4", + "Show": "4", + "LogicCode": 39, + "LocationCode": 5, + "Position": { + "Left": 416, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "5", + "Show": "5", + "LogicCode": 40, + "LocationCode": 6, + "Position": { + "Left": 470, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "6", + "Show": "6", + "LogicCode": 41, + "LocationCode": 7, + "Position": { + "Left": 524, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "7", + "Show": "7", + "LogicCode": 42, + "LocationCode": 8, + "Position": { + "Left": 578, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "8", + "Show": "8", + "LogicCode": 43, + "LocationCode": 9, + "Position": { + "Left": 632, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "9", + "Show": "9", + "LogicCode": 44, + "LocationCode": 10, + "Position": { + "Left": 686, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "0", + "Show": "0", + "LogicCode": 45, + "LocationCode": 11, + "Position": { + "Left": 740, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Return", + "Show": "Enter", + "LogicCode": 46, + "LocationCode": 58, + "Position": { + "Left": 890, + "Top": 276, + "Width": 116, + "Height": 50 + } +}, +{ + "KeyName": "Escape", + "Show": "Esc", + "LogicCode": 47, + "LocationCode": 0, + "Position": { + "Left": 200, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Backspace", + "Show": "←", + "LogicCode": 48, + "LocationCode": 14, + "Position": { + "Left": 902, + "Top": 162, + "Width": 104, + "Height": 50 + } +}, +{ + "KeyName": "Tab", + "Show": "Tab", + "LogicCode": 49, + "LocationCode": 22, + "Position": { + "Left": 200, + "Top": 220, + "Width": 80, + "Height": 50 + } +}, +{ + "KeyName": "Space", + "Show": "Space", + "LogicCode": 50, + "LocationCode": 94, + "Position": { + "Left": 404, + "Top": 386, + "Width": 332, + "Height": 50 + } +}, +{ + "KeyName": "-", + "Show": "-", + "LogicCode": 51, + "LocationCode": 12, + "Position": { + "Left": 794, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "=", + "Show": "=", + "LogicCode": 52, + "LocationCode": 13, + "Position": { + "Left": 848, + "Top": 162, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "[", + "Show": "[", + "LogicCode": 53, + "LocationCode": 34, + "Position": { + "Left": 824, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "]", + "Show": "]", + "LogicCode": 54, + "LocationCode": 35, + "Position": { + "Left": 878, + "Top": 220, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "|", + "Show": "|", + "LogicCode": 55, + "LocationCode": 36, + "Position": { + "Left": 932, + "Top": 220, + "Width": 74, + "Height": 50 + } +}, +{ + "KeyName": ";", + "Show": ";", + "LogicCode": 56, + "LocationCode": 55, + "Position": { + "Left": 782, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "'", + "Show": "'", + "LogicCode": 57, + "LocationCode": 56, + "Position": { + "Left": 836, + "Top": 276, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": ",", + "Show": ",", + "LogicCode": 59, + "LocationCode": 75, + "Position": { + "Left": 700, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": ".", + "Show": ".", + "LogicCode": 60, + "LocationCode": 76, + "Position": { + "Left": 750, + "Top": 332, + "Width": 46, + "Height": 50 + } +}, +{ + "KeyName": "/", + "Show": "/", + "LogicCode": 61, + "LocationCode": 77, + "Position": { + "Left": 800, + "Top": 332, + "Width": 44, + "Height": 50 + } +}, +{ + "KeyName": "Caps Lock", + "Show": "Caps L", + "LogicCode": 62, + "LocationCode": 44, + "Position": { + "Left": 200, + "Top": 276, + "Width": 90, + "Height": 50 + } +}, +{ + "KeyName": "Delete", + "Show": "Del", + "LogicCode": 81, + "LocationCode": 80, + "Position": { + "Left": 956, + "Top": 330, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Right Arrow", + "Show": "→", + "LogicCode": 84, + "LocationCode": 102, + "Position": { + "Left": 956, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Left Arrow", + "Show": "←", + "LogicCode": 85, + "LocationCode": 100, + "Position": { + "Left": 848, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Down Arrow", + "Show": "↓", + "LogicCode": 86, + "LocationCode": 101, + "Position": { + "Left": 902, + "Top": 386, + "Width": 50, + "Height": 50 + } +}, +{ + "KeyName": "Up Arrow", + "Show": "↑", + "LogicCode": 87, + "LocationCode": 79, + "Position": { + "Left": 902, + "Top": 330, + "Width": 50, + "Height": 50 + } +}] \ No newline at end of file diff --git a/Build/Data/device/656801802/data/profile.json b/Build/Data/device/656801802/data/profile.json new file mode 100644 index 0000000..d2c6dcb --- /dev/null +++ b/Build/Data/device/656801802/data/profile.json @@ -0,0 +1,750 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "", + "Name": "", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 109, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x0a070003", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/656801802/data/profile_offline_1.json b/Build/Data/device/656801802/data/profile_offline_1.json new file mode 100644 index 0000000..840fd3a --- /dev/null +++ b/Build/Data/device/656801802/data/profile_offline_1.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 2, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "BB3D9CF2-7063-4b37-85B5-B8C9F38D819A", + "Name": "GK64S-1", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801802/data/profile_offline_2.json b/Build/Data/device/656801802/data/profile_offline_2.json new file mode 100644 index 0000000..19a7721 --- /dev/null +++ b/Build/Data/device/656801802/data/profile_offline_2.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 3, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "72DAFC80-5562-4da1-A2FF-9B1C493D2F3F", + "Name": "GK64S-2", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "Win", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "LAlt", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "离线3", + "DriverValue": "0x0a070004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801802/data/profile_offline_3.json b/Build/Data/device/656801802/data/profile_offline_3.json new file mode 100644 index 0000000..1d030c5 --- /dev/null +++ b/Build/Data/device/656801802/data/profile_offline_3.json @@ -0,0 +1,1032 @@ +{ + "GUID": "", + "ModeIndex": 4, + "Name": "", + "Active": 0, + "ModelID": 0, + "Application": { + "AppName": "", + "AppPath": "" + }, + "ModeLE": { + "GUID": "9026B029-F1D1-4cff-9478-775D082ADBAF", + "Name": "GK64S-3", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+C", + "DriverValue": "0x02000601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "SL", + "DriverValue": "0x02004700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "INS", + "DriverValue": "0x02004900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "HM", + "DriverValue": "0x02004A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "PU", + "DriverValue": "0x02004B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "PB", + "DriverValue": "0x02004800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+R", + "DriverValue": "0x02001501", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+S", + "DriverValue": "0x02001601", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+T", + "DriverValue": "0x02001701", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "PS", + "DriverValue": "0x02004600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "LCtrl+V", + "DriverValue": "0x02001901", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "F1", + "DriverValue": "0x02003A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "F2", + "DriverValue": "0x02003B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "F3", + "DriverValue": "0x02003C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "F4", + "DriverValue": "0x02003D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "F5", + "DriverValue": "0x02003E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "F6", + "DriverValue": "0x02003F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "F7", + "DriverValue": "0x02004000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "F8", + "DriverValue": "0x02004100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "F9", + "DriverValue": "0x02004200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "F10", + "DriverValue": "0x02004300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+`", + "DriverValue": "0x02003502", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "DEL", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "F11", + "DriverValue": "0x02004400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "F12", + "DriverValue": "0x02004500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "⊘", + "DriverValue": "0x02000000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "END", + "DriverValue": "0x02004D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "PD", + "DriverValue": "0x02004E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ], + "FnKeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001" + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002" + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004" + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010" + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020" + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "播放/暂停", + "DriverValue": "0x030000CD" + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500" + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "下一曲", + "DriverValue": "0x030000B5" + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "静音", + "DriverValue": "0x030000E2" + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量减", + "DriverValue": "0x030000EA" + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "音量加", + "DriverValue": "0x030000E9" + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num5", + "DriverValue": "0x02005D00" + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num1", + "DriverValue": "0x02005900" + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num2", + "DriverValue": "0x02005A00" + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num3", + "DriverValue": "0x02005B00" + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100" + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num6", + "DriverValue": "0x02005E00" + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num*", + "DriverValue": "0x02005500" + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "上一曲", + "DriverValue": "0x030000B6" + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700" + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num4", + "DriverValue": "0x02005C00" + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900" + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00" + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+1", + "DriverValue": "0x02001e02" + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+2", + "DriverValue": "0x02001f02" + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+3", + "DriverValue": "0x02002002" + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+4", + "DriverValue": "0x02002102" + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+5", + "DriverValue": "0x02002202" + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "LShift+6", + "DriverValue": "0x02002302" + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num7", + "DriverValue": "0x02005F00" + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num8", + "DriverValue": "0x02006000" + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num9", + "DriverValue": "0x02006100" + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num0", + "DriverValue": "0x02006200" + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800" + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "`", + "DriverValue": "0x02003500" + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00" + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num-", + "DriverValue": "0x02005600" + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num+", + "DriverValue": "0x02005700" + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300" + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400" + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500" + }, { + "Index": 59, + "MenuPID": 1, + "MenuID": "", + "MenuName": "00", + "DriverValue": "0x0A010001", + "Task": { + "Type": "Macro", + "Data": { + "GUID": "9A3793A9-013E-4b34-A63A-7DA572985CB4", + "StopMode": 1, + "Repeats": 1 + } + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num.", + "DriverValue": "0x02006300" + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "Num/", + "DriverValue": "0x02005400" + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900" + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "Backspace", + "DriverValue": "0x02002A00" + } + ] +} diff --git a/Build/Data/device/656801802/data/profile_offline_std.json b/Build/Data/device/656801802/data/profile_offline_std.json new file mode 100644 index 0000000..b8214ef --- /dev/null +++ b/Build/Data/device/656801802/data/profile_offline_std.json @@ -0,0 +1,26 @@ +{ + "GUID": "", + "ModeIndex": 1, + "Name": "标准配置", + "Active": 0, + "DriverLE": [{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全亮绿光" + }, + { + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "RGB渐变" + }, + { + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "光谱循环" + }, + { + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "风车" + }, + { + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "彩虹波" + }] +} \ No newline at end of file diff --git a/Build/Data/device/656801802/data/profile_online_1.json b/Build/Data/device/656801802/data/profile_online_1.json new file mode 100644 index 0000000..b28e465 --- /dev/null +++ b/Build/Data/device/656801802/data/profile_online_1.json @@ -0,0 +1,745 @@ +{ + "GUID": "", + "ModeIndex": 0, + "Name": "默认配置", + "Active": 1, + "ModelID": 656801802, + "Application": { + "AppName": "", + "AppPath": "" + }, + "Game": { + "GUID": "ECA1CE5C-597C-4047-9F78-AB638FDE7737", + "Name": "Idle" + }, + "ModeLE": { + "GUID": "CA48BB92-593B-4891-A52F-41E8FB04BF8B", + "Name": "同步RGB渐变", + "LESet": { + "LEModel": 241, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, + "LEData": {} + }, + "DeviceLE": { + "Index": 0, + "LESet": [{ + "LEConfig": 0, + "LEModel": 7, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 8, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 5, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 14, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + }, { + "LEConfig": 0, + "LEModel": 9, + "LESubModel": 1, + "LELight": 18, + "LESpeed": 3, + "LEDir": 0, + "LEColor": 0, + "LEEnable": 15 + } + ] + }, + "DriverLE": [{ + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + }, { + "GUID": "", + "Name": "" + } + ], + "KeySet": [{ + "Index": 2, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000001", + "Task": { + "Type": "", + "Data": { + "Type": "OpenURL", + "AppPath": "" + } + }, + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 3, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000002", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 4, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000004", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 5, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000008", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 6, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000010", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 7, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000020", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 10, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 11, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 12, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 13, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 14, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 15, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 16, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 17, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 18, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 19, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 20, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 21, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02000F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 22, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 23, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 24, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 25, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 26, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 27, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 28, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 29, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 30, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 31, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 32, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 33, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 34, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 35, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 36, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 37, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02001F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 38, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 39, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 40, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002200", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 41, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 42, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 43, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 44, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 45, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 46, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 47, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 48, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002A00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 49, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002B00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 50, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 51, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002D00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 52, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002E00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 53, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02002F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 54, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 55, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 56, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003300", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 57, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003400", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 58, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003500", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 59, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003600", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 60, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003700", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 61, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003800", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 62, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02003900", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 81, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004C00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 84, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02004F00", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 85, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005000", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 86, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005100", + "KeyLE": { + "GUID": "", + "Name": "" + } + }, { + "Index": 87, + "MenuPID": "", + "MenuID": "", + "MenuName": "", + "DriverValue": "0x02005200", + "KeyLE": { + "GUID": "", + "Name": "" + } + } + ] +} diff --git a/Build/Data/device/modellist.json b/Build/Data/device/modellist.json new file mode 100644 index 0000000..2bc006d --- /dev/null +++ b/Build/Data/device/modellist.json @@ -0,0 +1,108 @@ +[{ + "ModelID": 655491085, + "FWID": "0x02103701", + "Name": "GK61 RGB", + "LEType": "0" +}, +{ + "ModelID": 655491200, + "FWID": "0x90211410", + "Name": "OK-114 GK84 RGB BTH+USB", + "LEType": "0" +}, +{ + "ModelID": 655491117, + "FWID": "0x02104601", + "Name": "GK61 RGB光轴", + "LEType": "0" +}, +{ + "ModelID": 655491249, + "FWID": "0x90206411", + "Name": "GK64 RGB U+B V2", + "LEType": "0" +}, +{ + "ModelID": 655491084, + "FWID": "0x02103901", + "Name": "GK64 RGB", + "LEType": "0" +}, +{ + "ModelID": 655491238, + "FWID": "0x90206110", + "Name": "GK61 RGB U+B", + "LEType": "0" +}, +{ + "ModelID": 655491246, + "FWID": "0x90206111", + "Name": "GK61-RGB-V2", + "LEType": "0" +}, +{ + "ModelID": 655491247, + "FWID": "0x90206120", + "Name": "GK66-RGB光轴", + "LEType": "0" +}, +{ + "ModelID": 655491248, + "FWID": "0x90214810", + "Name": "GK99-RGB", + "LEType": "0" +}, +{ + "ModelID": 655491165, + "FWID": "0x02104301", + "Name": "K101-104RGB光轴版", + "LEType": "0" +}, +{ + "ModelID": 656801793, + "FWID": "0x90215021", + "Name": "GK66-RGB双灯", + "LEType": "0" +}, +{ + "ModelID": 656801796, + "FWID": "0x90215021", + "Name": "GK66-RGB上灯位", + "LEType": "0" +}, +{ + "ModelID": 656801795, + "FWID": "0x90215022", + "Name": "GK66不带蓝牙 上灯位(ESC+FN双灯)", + "LEType": "0" +}, +{ + "ModelID": 656801797, + "FWID": "0x90215022", + "Name": "GK66不带蓝牙 双灯位", + "LEType": "0" +}, +{ + "ModelID": 656801798, + "FWID": "0x90206110", + "Name": "GK61 RGB U+B(带侧灯灯带)", + "LEType": "0" +}, +{ + "ModelID": 656801800, + "FWID": "0x90215920", + "Name": "KC101-104RGBS", + "LEType": "0" +}, +{ + "ModelID": 656801801, + "FWID": "0x90206410", + "Name": "GK64S RGB不带蓝牙", + "LEType": "0" +}, +{ + "ModelID": 656801802, + "FWID": "0x90206412", + "Name": "GK64S RGB经典款", + "LEType": "0" +}] \ No newline at end of file diff --git a/Build/Data/i18n/langs/de.json b/Build/Data/i18n/langs/de.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/de.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/en.json b/Build/Data/i18n/langs/en.json new file mode 100644 index 0000000..d998764 --- /dev/null +++ b/Build/Data/i18n/langs/en.json @@ -0,0 +1,333 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination:", + "shortcut": "Shortcut:", + "please_select": "Select", + "input_search_text": "Input keywords", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Function", + "key_light": "Press Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!", + "line_first": "First Line", + "line_second": "Second Line", + "line_third": "Third Line", + "line_fourth": "Fourth Line", + "line_fifth": "Fifth Line", + "line_sixth": "Sixth Line", + "line_logo": "LOGO", + "line_above": "Above", + "line_below": "Below", + "line_bottom": "Bottom", + "line_top_bar": "Top Bar", + "line_bottom_bar": "Bottom Bar", + "line_all": "All", + "line_none": "None", + "user_manual": "Guidelines", + "layer_oper": "Layer Switch", + "le_oper": "Le Operation", + "system_oper": "Configuration Operation", + "change_std_layer": "Switch to standard layer", + "change_onboard_layer_1": "Switch to onboard layer 1 or standard layer", + "change_onboard_layer_2": "Switch to onboard layer 2 or standard layer", + "change_onboard_layer_3": "Switch to onboard layer 3 or standard layer", + "change_driver_layer_1": "Switch to driver layer or standard layer", + "change_std_le": "Switch standard layer le", + "change_le_brightness_inc": "Brightness +", + "change_le_brightness_dec": "Brightness -", + "change_le_speed_inc": "Speed +", + "change_le_speed_dec": "Speed -", + "clear_all_config": "Clear all layers configurations" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_static": "Static LE", + "le_diy_static_le": "Static Light Effect", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/es.json b/Build/Data/i18n/langs/es.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/es.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/fr.json b/Build/Data/i18n/langs/fr.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/fr.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/it.json b/Build/Data/i18n/langs/it.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/it.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/ja.json b/Build/Data/i18n/langs/ja.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/ja.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/ko.json b/Build/Data/i18n/langs/ko.json new file mode 100644 index 0000000..4849a7c --- /dev/null +++ b/Build/Data/i18n/langs/ko.json @@ -0,0 +1,301 @@ +{ + "common": { + "set": "Set", + "setting": "Settings", + "unset": "Un Set", + "use": "Use", + "no_data": "No Data", + "apply": "Apply", + "confirm": "Confirm", + "cancel": "Cancel", + "create": "Create", + "save": "Save", + "copy": "_copy", + "success": "Success!", + "fail": "Failed!", + "all": "All", + "simple": "Simple", + "combine": "Combine", + "comb_func": "Combination Function", + "please_select": "Select", + "input_search_text": "Input searchtext", + "model": "Model", + "preplay": "Play", + "apply_success": "Apply success!", + "apply_fail": "Apply fail!", + "profile_save_success": "Write profile success!", + "attention": "Attention Info", + "key_le_select_attention": "Please select the light file", + "key_select_attention": "Please select the current key!", + "restore_currentprofile_confirm": "Are you sure restore this layer to default?", + "clear_currentprofile_confirm": "Are you sure clear current layer configurations?", + "soft_version": "Soft Version", + "firm_version": "Firm Version", + "release_date": "Release Date", + "powered_by": "Powered By", + "language": "Language", + "current_model": "Current model", + "le_cate": "LE category", + "release_info": "Version Info", + "resolution": "Resolution", + "device_restore": "Restore", + "les_update": "Les update", + "auto_update": "Auto update", + "check_update": "Check", + "layer_std": "Standard", + "layer_onboard_1": "Layer 1", + "layer_onboard_2": "Layer 2", + "layer_onboard_3": "Layer 3", + "layer_driver_1": "Driver 1", + "layer_driver_2": "Driver 2", + "layer_driver_3": "Driver 3", + "key_func": "Func", + "key_light": "Light", + "light_effect": "Light effect", + "fn_not_edit": "Fn not editable!", + "std_key_func_not_edit": "Standard Layer key can not edit!", + "key_func_no_config": "No Config", + "key_le_no_config": "No Config", + "is_restore_current_layer_to_default": "restore current layer to default?", + "is_clear_current_config": "clear current layer keys config?", + "is_export_current_layer": "export current layer config?", + "is_import_profile_to_current_layer": "import config to current layer?", + "is_show_key_settings": "Show keys settings", + "func_in_dev_info": "Functions under development...", + "key_fnkeyset_cannot_set_macro": "Fn layer can not set macro!", + "key_already_preset_func": "Aready preset function!" + }, + "menu": { + "menu_driver_mode": "DriverMode", + "menu_download_mode": "DownloadMode", + "menu_le_lib": "LE Files", + "menu_macro_lib": "Macros", + "menu_le_sys": "LinkageLe", + "menu_no_device": "No Device", + "menu_not_support": "Not Support Device", + "menu_config_kb": "Configurations" + }, + "le": { + "le_name": "Light Effect ", + "le_setting_title": "Light Effect Setting", + "le_lib_title": "LE File Management", + "frame_num": "SN", + "frame_name": "Frame Name", + "frame_length": "Count", + "color_num": "SN", + "color_effect": "Effect", + "color_config": "Color", + "color_param": "Parameter", + "color_effect_monochrome": "Monochrome", + "color_effect_rgb": "RGB", + "color_effect_breathing": "Breathing", + "no_leconfig_select": "No LEConfig selected!", + "leconfig_must_keep_at_least_one": "LEConfig must keep at least one!", + "no_leframe_select": "No LE frame selected!", + "leframe_must_keep_at_least_one": "LE frame must keep at least one!", + "leframe_moved_top": "Already reached top!", + "leframe_moved_bottom": "Already reached bottom!", + "le_edit_save_success": "LE file save success!" + }, + "macro": { + "macro_mgr": "Macro Manage", + "macro_cate": "Macro Category", + "macro_setting_title": "Macro Setting", + "macro_btn_execute": "Execute after", + "n_times_stop": "times to stop", + "macro_btn_execute_release_to_stop": "Btton release to stop", + "macro_btn_execute_pressagain_to_stop": "Btton press again to stop", + "macro_delay_record_time": "Recording delay", + "macro_delay_mini_time": "Minimum delay(5ms)", + "macro_delay_n_time": "ms delay", + "macro_cate_create": "Created macro category ", + "macro_cate_already_exist": "Macro category already exist!", + "macro_cate_name_cannot_empty": "Macro category name cannot empty", + "macro_cate_delete_confirm_info": "Delete macro category will delete all macro files in this directory,Continue?", + "macro_name": "Macro Name", + "macro_delay_mode": "Delay mode", + "macro_left_down": "Left Down", + "macro_left_up": "Left UP", + "macro_right_down": "Right Down", + "macro_right_up": "Right Up", + "macro_create": "Macro created ", + "macro_rename": "Macro rename ", + "macro_copy": "Macro copy ", + "macro_delete": "Macro delete ", + "macro_no_select": "Macro file not seleted!", + "macro_unselect": "Unselected", + "macro_export": "Macro export ", + "macro_import": "Macro import ", + "macro_rerecord_confirm": "Is Re Recording?", + "macro_clear_record": "Re Recording", + "macro_continue_record": "Continue Recording", + "macro_save": "Macro data save " + }, + "keyset": { + "kb_primary": "Primary", + "kb_pad": "Number Pad", + "kb_media": "Meida", + "kb_system": "System/Net", + "kb_mouse": "Mouse", + "kb_disable": "Disable", + "mode_layer_temp_switch": "Temp Layer Switch", + "mode_layer_change": "Layer Switch" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "Media", + "key_media_play_pause": "Play/Pause", + "key_media_stop": "Stop", + "key_media_prev": "Previous", + "key_media_next": "Next", + "key_media_volume_inc": "Volume+", + "key_media_volume_dec": "Volume-", + "key_media_volume_mute": "Mute", + "key_brower_back": "Back", + "key_brower_advance": "Advance", + "key_brower_refresh": "Refresh", + "key_brower_collection": "Collection", + "key_brower_home": "HomePage", + "key_email": "Email", + "key_my_computer": "My Computer", + "key_calculator": "Calculator", + "key_copy": "Copy", + "key_paste": "Paste", + "key_screenshot": "PS", + "key_mouse_left_click": "Left Click", + "key_mouse_right_click": "Right Click", + "key_mouse_middle_click": "Middle Click", + "key_mouse_back": "Back", + "key_mouse_advance": "Advance", + "key_disable": "Disabled", + "key_disable_all": "Disable All", + "key_disable_cancel": "Enable All", + "key_disable_num": "Disable Numbers", + "key_disable_pad": "Disable Pad", + "key_disable_fx": "Disable F1-F12", + "key_disable_letter": "Disable Letters", + "key_disable_symbol": "Disable symbols", + "key_disable_ctrls": "Disable controls", + "key_disable_funcs": "Disable functions", + "key_disable_direction": "Disable directions", + "key_mode_std": "Standard", + "key_mode_offline_1": "Layer1", + "key_mode_offline_2": "Layer2", + "key_mode_offline_3": "Layer3", + "key_mode_online_change": "Driver Mode", + "key_mode_offline_1_change": "Layer1", + "key_mode_offline_2_change": "Layer2", + "key_mode_offline_3_change": "Layer3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/i18n/langs/zh.json b/Build/Data/i18n/langs/zh.json new file mode 100644 index 0000000..8544c02 --- /dev/null +++ b/Build/Data/i18n/langs/zh.json @@ -0,0 +1,333 @@ +{ + "common": { + "set": "设置", + "setting": "设置", + "unset": "未设置", + "use": "使用", + "no_data": "暂无数据", + "apply": "应用", + "confirm": "确认", + "cancel": "取消", + "create": "创建", + "save": "保存", + "copy": "_副本", + "success": "成功!", + "fail": "失败!", + "all": "全部", + "simple": "简单", + "combine": "组合", + "comb_func": "组合键:", + "shortcut": "快捷方式:", + "please_select": "选择", + "input_search_text": "输入关键词", + "model": "机型", + "preplay": "预览", + "apply_success": "应用成功!", + "apply_fail": "应用失败!", + "profile_save_success": "配置文件保存成功!", + "attention": "提示信息", + "key_le_select_attention": "选择要设置的按键灯效", + "key_select_attention": "请先点选要编辑的键盘按键!", + "restore_currentprofile_confirm": "您确定要恢复当前配置到默认设置吗?", + "clear_currentprofile_confirm": "您确定要清空当前设置吗?", + "soft_version": "软件版本", + "firm_version": "固件版本", + "release_date": "发布日期", + "powered_by": "技术支持", + "language": "语言", + "current_model": "当前机型", + "le_cate": "灯效分类", + "release_info": "版本说明", + "resolution": "分辨率", + "device_restore": "恢复默认", + "les_update": "灯效更新", + "auto_update": "自动更新", + "check_update": "检查更新", + "layer_std": "标准层", + "layer_onboard_1": "板载层1", + "layer_onboard_2": "板载层2", + "layer_onboard_3": "板载层3", + "layer_driver_1": "驱动层1", + "layer_driver_2": "驱动层2", + "layer_driver_3": "驱动层3", + "key_func": "功能", + "key_light": "灯光", + "light_effect": "灯效", + "fn_not_edit": "Fn不可编辑", + "std_key_func_not_edit": "标准层按键功能不可更改!", + "key_func_no_config": "未配置", + "key_le_no_config": "未配置", + "is_restore_current_layer_to_default": "恢复当前层设置为出厂默认配置?", + "is_clear_current_config": "清空前层按键设置?", + "is_export_current_layer": "导出当前层设置?", + "is_import_profile_to_current_layer": "导入配置到当前层?", + "is_show_key_settings": "显示修改", + "func_in_dev_info": "功能正在努力开发中...", + "key_fnkeyset_cannot_set_macro": "Fn层不能设置宏功能!", + "key_already_preset_func": "该键已经预设了系统功能不可编辑!", + "line_first": "第一行", + "line_second": "第二行", + "line_third": "第三行", + "line_fourth": "第四行", + "line_fifth": "第五行", + "line_sixth": "第六行", + "line_logo": "LOGO", + "line_above": "上灯位", + "line_below": "下灯位", + "line_bottom": "底灯", + "line_top_bar": "上灯条", + "line_bottom_bar": "下灯条", + "line_all": "全选", + "line_none": "全不选", + "user_manual": "使用说明", + "layer_oper": "层切换操作", + "le_oper": "灯效调节", + "system_oper": "配置操作", + "change_std_layer": "切换到标准层", + "change_onboard_layer_1": "切换到板载层1/标准层", + "change_onboard_layer_2": "切换到板载层2/标准层", + "change_onboard_layer_3": "切换到板载层3/标准层", + "change_driver_layer_1": "切换到驱动层/标准层", + "change_std_le": "循环切换标准层(自定义下载灯效)/(代码互动灯效)", + "change_le_brightness_inc": "增加当前灯效亮度", + "change_le_brightness_dec": "降低当前灯效亮度", + "change_le_speed_inc": "加快当前灯效播放速度", + "change_le_speed_dec": "减慢当前灯效播放速度", + "clear_all_config": "清空预设" + }, + "menu": { + "menu_driver_mode": "驱动层", + "menu_download_mode": "板载层", + "menu_le_lib": "灯效库", + "menu_macro_lib": "宏管理", + "menu_le_sys": "联动灯效", + "menu_no_device": "未检测到设备", + "menu_not_support": "不支持的设备", + "menu_config_kb": "功能配置" + }, + "le": { + "le_name": "灯效 ", + "le_static": "静态灯效", + "le_diy_static_le": "自定义静态灯效", + "le_setting_title": "灯光设置", + "le_lib_title": "灯光管理", + "frame_num": "编号", + "frame_name": "帧名称", + "frame_length": "帧数", + "color_num": "编号", + "color_effect": "效果", + "color_config": "颜色配置", + "color_param": "颜色参数", + "color_effect_monochrome": "单色", + "color_effect_rgb": "RGB", + "color_effect_breathing": "呼吸", + "no_leconfig_select": "没有选中要操作的配置项!", + "leconfig_must_keep_at_least_one": "至少保留一个灯效配置!", + "no_leframe_select": "没有选中要操作的帧!", + "leframe_must_keep_at_least_one": "至少保留一帧!", + "leframe_moved_top": "选中帧已经移动到最顶部!", + "leframe_moved_bottom": "选中帧已经移动到最底部!", + "le_edit_save_success": "灯效保存成功!" + }, + "macro": { + "macro_mgr": "宏管理", + "macro_cate": "宏分类列表", + "macro_setting_title": "宏设置", + "macro_btn_execute": "宏按键执行", + "n_times_stop": "次后停止", + "macro_btn_execute_release_to_stop": "宏按键松开停止", + "macro_btn_execute_pressagain_to_stop": "宏按键再次按下停止", + "macro_delay_record_time": "录制延时", + "macro_delay_mini_time": "最小延时(5ms)", + "macro_delay_n_time": "ms延时", + "macro_cate_create": "创建宏分类", + "macro_cate_already_exist": "已经存在该宏分类!", + "macro_cate_name_cannot_empty": "宏分类名称不能为空!", + "macro_cate_delete_confirm_info": "删除宏分类将一同删除该分类下的所有宏文件,是否继续?", + "macro_name": "宏名称", + "macro_delay_mode": "延时模式", + "macro_left_down": "左键按下", + "macro_left_up": "左键弹起", + "macro_right_down": "右键按下", + "macro_right_up": "右键弹起", + "macro_create": "宏创建", + "macro_rename": "宏重命名", + "macro_copy": "宏复制", + "macro_delete": "宏删除", + "macro_no_select": "宏尚未选择!", + "macro_unselect": "未选择", + "macro_export": "宏导出", + "macro_import": "宏导入", + "macro_rerecord_confirm": "是否清空重新录制?", + "macro_clear_record": "清空重录", + "macro_continue_record": "继续录制", + "macro_save": "宏保存" + }, + "keyset": { + "kb_primary": "基础功能", + "kb_pad": "数字键区", + "kb_media": "媒体", + "kb_system": "系统/网络", + "kb_mouse": "鼠标", + "kb_disable": "禁用", + "mode_layer_temp_switch": "层瞬时开关", + "mode_layer_change": "层切换" + }, + "keys": { + "key_a": "A", + "key_b": "B", + "key_c": "C", + "key_d": "D", + "key_e": "E", + "key_f": "F", + "key_g": "G", + "key_h": "H", + "key_i": "I", + "key_j": "J", + "key_k": "K", + "key_l": "L", + "key_m": "M", + "key_n": "N", + "key_o": "O", + "key_p": "P", + "key_q": "Q", + "key_r": "R", + "key_s": "S", + "key_t": "T", + "key_u": "U", + "key_v": "V", + "key_w": "W", + "key_x": "X", + "key_y": "Y", + "key_z": "Z", + "key_0": "0", + "key_1": "1", + "key_2": "2", + "key_3": "3", + "key_4": "4", + "key_5": "5", + "key_6": "6", + "key_7": "7", + "key_8": "8", + "key_9": "9", + "key_f1": "F1", + "key_f2": "F2", + "key_f3": "F3", + "key_f4": "F4", + "key_f5": "F5", + "key_f6": "F6", + "key_f7": "F7", + "key_f8": "F8", + "key_f9": "F9", + "key_f10": "F10", + "key_f11": "F11", + "key_f12": "F12", + "key_fn": "FN", + "key_esc": "ESC", + "key_l_win": "LWin", + "key_r_win": "RWin", + "key_l_cmd": "LCmd", + "key_r_cmd": "RCmd", + "key_l_shift": "LShift", + "key_r_shift": "RShift", + "key_l_alt": "LAlt", + "key_r_alt": "RAlt", + "key_l_option": "LOpt", + "key_r_option": "ROpt", + "key_tab": "Tab", + "key_backspace": "Backspace", + "key_backspace_mac": "Delete", + "key_enter": "Enter", + "key_enter_mac": "Return", + "key_l_control": "LCtl", + "key_r_control": "RCtl", + "key_menu": "Menu", + "key_caps": "Caps", + "key_space": "Space", + "key_pause": "PB", + "key_pageup": "PU", + "key_pagedown": "PD", + "key_end": "END", + "key_home": "HM", + "key_printscreen": "PS", + "key_insert": "INS", + "key_delete": "DEL", + "key_scrolllock": "SL", + "key_arrow_left": "←", + "key_arrow_up": "↑", + "key_arrow_right": "→", + "key_arrow_down": "↓", + "key_semicolon": ";", + "key_add": "+", + "key_comma": ",", + "key_subtract": "-", + "key_fullstop": ".", + "key_slash": "/", + "key_wave": "`", + "key_square_bracket_left": "[", + "key_square_bracket_right": "]", + "key_backslash": "\\", + "key_quotation_sign": "'", + "key_num_lock": "NumLock", + "key_num_0": "Num 0", + "key_num_1": "Num 1", + "key_num_2": "Num 2", + "key_num_3": "Num 3", + "key_num_4": "Num 4", + "key_num_5": "Num 5", + "key_num_6": "Num 6", + "key_num_7": "Num 7", + "key_num_8": "Num 8", + "key_num_9": "Num 9", + "key_num_multiply": "Num *", + "key_num_add": "Num +", + "key_num_subtract": "Num -", + "key_num_decimal": "Num /", + "key_num_fullstop": "Num .", + "key_num_enter": "Num ←", + "key_media_player": "媒体播放器", + "key_media_play_pause": "播放/暂停", + "key_media_stop": "停止", + "key_media_prev": "上一曲", + "key_media_next": "下一曲", + "key_media_volume_inc": "音量加", + "key_media_volume_dec": "音量减", + "key_media_volume_mute": "静音", + "key_brower_back": "浏览器后退", + "key_brower_advance": "浏览器前进", + "key_brower_refresh": "浏览器刷新", + "key_brower_collection": "浏览器收藏", + "key_brower_home": "浏览器主页", + "key_email": "Email", + "key_my_computer": "我的电脑", + "key_calculator": "计算器", + "key_copy": "复制", + "key_paste": "粘贴", + "key_screenshot": "PS", + "key_mouse_left_click": "单击左键", + "key_mouse_right_click": "单机右键", + "key_mouse_middle_click": "单机滚轮", + "key_mouse_back": "后退", + "key_mouse_advance": "前进", + "key_disable": "禁用", + "key_disable_all": "禁用全部", + "key_disable_cancel": "取消禁用", + "key_disable_num": "禁用数字键", + "key_disable_pad": "禁用pad", + "key_disable_fx": "禁用F1-F12", + "key_disable_letter": "禁用字母", + "key_disable_symbol": "禁用符号", + "key_disable_ctrls": "禁用控制键", + "key_disable_funcs": "禁用九键", + "key_disable_direction": "禁用方向键", + "key_mode_std": "标准层", + "key_mode_offline_1": "板载层1", + "key_mode_offline_2": "板载层2", + "key_mode_offline_3": "板载层3", + "key_mode_online_change": "在线层", + "key_mode_offline_1_change": "板载层1", + "key_mode_offline_2_change": "板载层2", + "key_mode_offline_3_change": "板载层3", + "key_change_fnx1": "FnX" + } +} \ No newline at end of file diff --git a/Build/Data/keys.json b/Build/Data/keys.json new file mode 100644 index 0000000..617516f --- /dev/null +++ b/Build/Data/keys.json @@ -0,0 +1,1116 @@ +[{ + "title": "基本功能", + "keytype": "primary", + "lang": "kb_primary", + "icon": "el-icon-kb-keyboard", + "pid": "0", + "pname": "singlebutton", + "keys": [{ + "linekeys": [{ + "LocationCode": 0, + "LogicCode": 47, + "Name": "Esc", + "LangTitle": "key_esc", + "DriverValue": "0x02002900", + "IsCombFunc": true + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "禁用", + "LangTitle": "key_disable", + "Icon": "el-icon-kb-disable", + "DriverValue": "0x02000000", + "Class": "el-button--danger" + }, { + "LocationCode": 2, + "LogicCode": 63, + "Name": "F1", + "LangTitle": "key_f1", + "DriverValue": "0x02003A00", + "IsCombFunc": true + }, { + "LocationCode": 3, + "LogicCode": 64, + "Name": "F2", + "LangTitle": "key_f2", + "DriverValue": "0x02003B00", + "IsCombFunc": true + }, { + "LocationCode": 4, + "LogicCode": 65, + "Name": "F3", + "LangTitle": "key_f3", + "DriverValue": "0x02003C00", + "IsCombFunc": true + }, { + "LocationCode": 5, + "LogicCode": 66, + "Name": "F4", + "LangTitle": "key_f4", + "DriverValue": "0x02003D00", + "IsCombFunc": true + }, { + "LocationCode": 7, + "LogicCode": 67, + "Name": "F5", + "LangTitle": "key_f5", + "DriverValue": "0x02003E00", + "Class": "pad150", + "IsCombFunc": true + }, { + "LocationCode": 8, + "LogicCode": 68, + "Name": "F6", + "LangTitle": "key_f6", + "DriverValue": "0x02003F00", + "IsCombFunc": true + }, { + "LocationCode": 9, + "LogicCode": 69, + "Name": "F7", + "LangTitle": "key_f7", + "DriverValue": "0x02004000", + "IsCombFunc": true + }, { + "LocationCode": 10, + "LogicCode": 70, + "Name": "F8", + "LangTitle": "key_f8", + "DriverValue": "0x02004100", + "IsCombFunc": true + }, { + "LocationCode": 11, + "LogicCode": 71, + "Name": "F9", + "LangTitle": "key_f9", + "DriverValue": "0x02004200", + "Class": "pad150", + "IsCombFunc": true + }, { + "LocationCode": 12, + "LogicCode": 72, + "Name": "F10", + "LangTitle": "key_f10", + "DriverValue": "0x02004300", + "IsCombFunc": true + }, { + "LocationCode": 13, + "LogicCode": 73, + "Name": "F11", + "LangTitle": "key_f11", + "DriverValue": "0x02004400", + "IsCombFunc": true + }, { + "LocationCode": 14, + "LogicCode": 74, + "Name": "F12", + "LangTitle": "key_f12", + "DriverValue": "0x02004500", + "IsCombFunc": true + }, { + "LocationCode": 15, + "LogicCode": 75, + "Name": "PS", + "LangTitle": "key_printscreen", + "DriverValue": "0x02004600", + "IsCombFunc": true + }, { + "LocationCode": 16, + "LogicCode": 76, + "Name": "SL", + "LangTitle": "key_scrolllock", + "DriverValue": "0x02004700", + "IsCombFunc": true + }, { + "LocationCode": 17, + "LogicCode": 77, + "Name": "PB", + "LangTitle": "key_pause", + "DriverValue": "0x02004800", + "NewLine": true, + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 22, + "LogicCode": 58, + "Name": "`", + "LangTitle": "key_wave", + "DriverValue": "0x02003500", + "Class": "rowstart", + "IsCombFunc": true + }, { + "LocationCode": 23, + "LogicCode": 36, + "Name": "1", + "LangTitle": "key_1", + "DriverValue": "0x02001E00", + "IsCombFunc": true + }, { + "LocationCode": 24, + "LogicCode": 37, + "Name": "2", + "LangTitle": "key_2", + "DriverValue": "0x02001F00", + "IsCombFunc": true + }, { + "LocationCode": 25, + "LogicCode": 38, + "Name": "3", + "LangTitle": "key_3", + "DriverValue": "0x02002000", + "IsCombFunc": true + }, { + "LocationCode": 26, + "LogicCode": 39, + "Name": "4", + "LangTitle": "key_4", + "DriverValue": "0x02002100", + "IsCombFunc": true + }, { + "LocationCode": 27, + "LogicCode": 40, + "Name": "5", + "LangTitle": "key_5", + "DriverValue": "0x02002200", + "IsCombFunc": true + }, { + "LocationCode": 28, + "LogicCode": 41, + "Name": "6", + "LangTitle": "key_6", + "DriverValue": "0x02002300", + "IsCombFunc": true + }, { + "LocationCode": 29, + "LogicCode": 42, + "Name": "7", + "LangTitle": "key_7", + "DriverValue": "0x02002400", + "IsCombFunc": true + }, { + "LocationCode": 30, + "LogicCode": 43, + "Name": "8", + "LangTitle": "key_8", + "DriverValue": "0x02002500", + "IsCombFunc": true + }, { + "LocationCode": 31, + "LogicCode": 44, + "Name": "9", + "LangTitle": "key_9", + "DriverValue": "0x02002600", + "IsCombFunc": true + }, { + "LocationCode": 32, + "LogicCode": 45, + "Name": "0", + "LangTitle": "key_0", + "DriverValue": "0x02002700", + "IsCombFunc": true + }, { + "LocationCode": 33, + "LogicCode": 51, + "Name": "-", + "LangTitle": "key_subtract", + "DriverValue": "0x02002D00", + "IsCombFunc": true + }, { + "LocationCode": 34, + "LogicCode": 52, + "Name": "=", + "LangTitle": "key_add", + "DriverValue": "0x02002E00", + "IsCombFunc": true + }, { + "LocationCode": 36, + "LogicCode": 48, + "Name": "Backspace", + "LangTitle": "key_backspace", + "LangTitleMac": "key_backspace_mac", + "DriverValue": "0x02002A00", + "Class": "l200", + "IsCombFunc": true + }, { + "LocationCode": 37, + "LogicCode": 78, + "Name": "INS", + "LangTitle": "key_insert", + "DriverValue": "0x02004900", + "IsCombFunc": true + }, { + "LocationCode": 38, + "LogicCode": 79, + "Name": "HM", + "LangTitle": "key_home", + "DriverValue": "0x02004A00", + "IsCombFunc": true + }, { + "LocationCode": 39, + "LogicCode": 80, + "Name": "PU", + "LangTitle": "key_pageup", + "DriverValue": "0x02004B00", + "NewLine": true, + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 44, + "LogicCode": 49, + "Name": "Tab", + "LangTitle": "key_tab", + "DriverValue": "0x02002B00", + "Class": "rowstart l150", + "IsCombFunc": true + }, { + "LocationCode": 45, + "LogicCode": 26, + "Name": "Q", + "LangTitle": "key_q", + "DriverValue": "0x02001400", + "IsCombFunc": true + }, { + "LocationCode": 46, + "LogicCode": 32, + "Name": "W", + "LangTitle": "key_w", + "DriverValue": "0x02001A00", + "IsCombFunc": true + }, { + "LocationCode": 47, + "LogicCode": 14, + "Name": "E", + "LangTitle": "key_e", + "DriverValue": "0x02000800", + "IsCombFunc": true + }, { + "LocationCode": 48, + "LogicCode": 27, + "Name": "R", + "LangTitle": "key_r", + "DriverValue": "0x02001500", + "IsCombFunc": true + }, { + "LocationCode": 49, + "LogicCode": 29, + "Name": "T", + "LangTitle": "key_t", + "DriverValue": "0x02001700", + "IsCombFunc": true + }, { + "LocationCode": 50, + "LogicCode": 34, + "Name": "Y", + "LangTitle": "key_y", + "DriverValue": "0x02001C00", + "IsCombFunc": true + }, { + "LocationCode": 51, + "LogicCode": 30, + "Name": "U", + "LangTitle": "key_u", + "DriverValue": "0x02001800", + "IsCombFunc": true + }, { + "LocationCode": 52, + "LogicCode": 18, + "Name": "I", + "LangTitle": "key_i", + "DriverValue": "0x02000C00", + "IsCombFunc": true + }, { + "LocationCode": 53, + "LogicCode": 24, + "Name": "O", + "LangTitle": "key_o", + "DriverValue": "0x02001200", + "IsCombFunc": true + }, { + "LocationCode": 54, + "LogicCode": 25, + "Name": "P", + "LangTitle": "key_p", + "DriverValue": "0x02001300", + "IsCombFunc": true + }, { + "LocationCode": 55, + "LogicCode": 53, + "Name": "[", + "LangTitle": "key_square_bracket_left", + "DriverValue": "0x02002F00", + "IsCombFunc": true + }, { + "LocationCode": 56, + "LogicCode": 54, + "Name": "]", + "LangTitle": "key_square_bracket_right", + "DriverValue": "0x02003000", + "IsCombFunc": true + }, { + "LocationCode": 58, + "LogicCode": 55, + "Name": "|\\", + "LangTitle": "key_backslash", + "DriverValue": "0x02003100", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 59, + "LogicCode": 81, + "Name": "DEL", + "LangTitle": "key_delete", + "DriverValue": "0x02004C00", + "IsCombFunc": true + }, { + "LocationCode": 60, + "LogicCode": 82, + "Name": "END", + "LangTitle": "key_end", + "DriverValue": "0x02004D00", + "IsCombFunc": true + }, { + "LocationCode": 61, + "LogicCode": 83, + "Name": "PD", + "LangTitle": "key_pagedown", + "DriverValue": "0x02004E00", + "NewLine": true, + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 66, + "LogicCode": 62, + "Name": "Caps", + "LangTitle": "key_caps", + "DriverValue": "0x02003900", + "Class": "rowstart l175", + "IsCombFunc": true + }, { + "LocationCode": 67, + "LogicCode": 10, + "Name": "A", + "LangTitle": "key_a", + "DriverValue": "0x02000400", + "IsCombFunc": true + }, { + "LocationCode": 68, + "LogicCode": 28, + "Name": "S", + "LangTitle": "key_s", + "DriverValue": "0x02001600", + "IsCombFunc": true + }, { + "LocationCode": 69, + "LogicCode": 13, + "Name": "D", + "LangTitle": "key_d", + "DriverValue": "0x02000700", + "IsCombFunc": true + }, { + "LocationCode": 70, + "LogicCode": 15, + "Name": "F", + "LangTitle": "key_f", + "DriverValue": "0x02000900", + "IsCombFunc": true + }, { + "LocationCode": 71, + "LogicCode": 16, + "Name": "G", + "LangTitle": "key_g", + "DriverValue": "0x02000A00", + "IsCombFunc": true + }, { + "LocationCode": 72, + "LogicCode": 17, + "Name": "H", + "LangTitle": "key_h", + "DriverValue": "0x02000B00", + "IsCombFunc": true + }, { + "LocationCode": 73, + "LogicCode": 19, + "Name": "J", + "LangTitle": "key_j", + "DriverValue": "0x02000D00", + "IsCombFunc": true + }, { + "LocationCode": 74, + "LogicCode": 20, + "Name": "K", + "LangTitle": "key_k", + "DriverValue": "0x02000E00", + "IsCombFunc": true + }, { + "LocationCode": 75, + "LogicCode": 21, + "Name": "L", + "LangTitle": "key_l", + "DriverValue": "0x02000F00", + "IsCombFunc": true + }, { + "LocationCode": 76, + "LogicCode": 56, + "Name": ";", + "LangTitle": "key_semicolon", + "DriverValue": "0x02003300", + "IsCombFunc": true + }, { + "LocationCode": 77, + "LogicCode": 57, + "Name": "'", + "LangTitle": "key_quotation_sign", + "DriverValue": "0x02003400", + "IsCombFunc": true + }, { + "LocationCode": 79, + "LogicCode": 46, + "Name": "Enter", + "LangTitle": "key_enter", + "LangTitleMac": "key_enter_mac", + "DriverValue": "0x02002800", + "Class": "l225", + "NewLine": true, + "IsCombFunc": true + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "Nothing", + "LangTitle": "key_nothing", + "DriverValue": "0", + "Class": "hide" + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "Nothing", + "LangTitle": "key_nothing", + "DriverValue": "0", + "Class": "hide" + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "Nothing", + "LangTitle": "key_nothing", + "DriverValue": "0", + "Class": "hide" + }] + }, { + "linekeys": [{ + "LocationCode": 88, + "LogicCode": 3, + "Name": "LShift", + "LangTitle": "key_l_shift", + "DriverValue": "0x02000002", + "Class": "rowstart l125" + }, { + "LocationCode": 89, + "LogicCode": 111, + "Name": ">|", + "LangTitle": "key_backslash", + "DriverValue": "0x02006400", + "IsCombFunc": true + }, { + "LocationCode": 90, + "LogicCode": 35, + "Name": "Z", + "LangTitle": "key_z", + "DriverValue": "0x02001D00", + "IsCombFunc": true + }, { + "LocationCode": 91, + "LogicCode": 33, + "Name": "X", + "LangTitle": "key_x", + "DriverValue": "0x02001B00", + "IsCombFunc": true + }, { + "LocationCode": 92, + "LogicCode": 12, + "Name": "C", + "LangTitle": "key_c", + "DriverValue": "0x02000600", + "IsCombFunc": true + }, { + "LocationCode": 93, + "LogicCode": 31, + "Name": "V", + "LangTitle": "key_v", + "DriverValue": "0x02001900", + "IsCombFunc": true + }, { + "LocationCode": 94, + "LogicCode": 11, + "Name": "B", + "LangTitle": "key_b", + "DriverValue": "0x02000500", + "IsCombFunc": true + }, { + "LocationCode": 95, + "LogicCode": 23, + "Name": "N", + "LangTitle": "key_n", + "DriverValue": "0x02001100", + "IsCombFunc": true + }, { + "LocationCode": 96, + "LogicCode": 22, + "Name": "M", + "LangTitle": "key_m", + "DriverValue": "0x02001000", + "IsCombFunc": true + }, { + "LocationCode": 97, + "LogicCode": 59, + "Name": ",", + "LangTitle": "key_comma", + "DriverValue": "0x02003600", + "IsCombFunc": true + }, { + "LocationCode": 98, + "LogicCode": 60, + "Name": ".", + "LangTitle": "key_fullstop", + "DriverValue": "0x02003700", + "IsCombFunc": true + }, { + "LocationCode": 99, + "LogicCode": 61, + "Name": "/", + "LangTitle": "key_slash", + "DriverValue": "0x02003800", + "IsCombFunc": true + }, { + "LocationCode": 102, + "LogicCode": 7, + "Name": "RShift", + "LangTitle": "key_r_shift", + "DriverValue": "0x02000020", + "Class": "l275" + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "Nothing", + "LangTitle": "key_nothing", + "DriverValue": "0", + "Class": "hide" + }, { + "LocationCode": 104, + "LogicCode": 87, + "Name": "↑", + "LangTitle": "key_arrow_up", + "DriverValue": "0x02005200", + "NewLine": true, + "IsCombFunc": true + }, { + "LocationCode": -1, + "LogicCode": -1, + "Name": "Nothing", + "LangTitle": "key_nothing", + "DriverValue": "0", + "Class": "hide" + }] + }, { + "linekeys": [{ + "LocationCode": 110, + "LogicCode": 2, + "Name": "LCtl", + "LangTitle": "key_l_control", + "DriverValue": "0x02000001", + "Class": "rowstart l125" + }, { + "LocationCode": 111, + "LogicCode": 5, + "Name": "Win", + "LangTitle": "key_l_win", + "LangTitleMac": "key_l_cmd", + "LangTitleLinux": "key_l_win", + "DriverValue": "0x02000008", + "Class": "l125" + }, { + "LocationCode": 112, + "LogicCode": 4, + "Name": "LAlt", + "LangTitle": "key_l_alt", + "LangTitleMac": "key_l_option", + "LangTitleLinux": "key_l_alt", + "DriverValue": "0x02000004", + "Class": "l125" + }, { + "LocationCode": 116, + "LogicCode": 50, + "Name": "Space", + "LangTitle": "key_space", + "DriverValue": "0x02002C00", + "Class": "l625", + "IsCombFunc": true + }, { + "LocationCode": 120, + "LogicCode": 8, + "Name": "RAlt", + "LangTitle": "key_r_alt", + "LangTitleMac": "key_r_option", + "LangTitleLinux": "key_r_alt", + "DriverValue": "0x02000040", + "Class": "l125" + }, { + "LocationCode": 121, + "LogicCode": 9, + "Name": "RWin", + "LangTitle": "key_r_win", + "LangTitleMac": "key_r_cmd", + "LangTitleLinux": "key_r_win", + "DriverValue": "0x02000080", + "Class": "1125" + }, { + "LocationCode": 122, + "LogicCode": 1, + "Name": "App", + "LangTitle": "key_menu", + "DriverValue": "0x02006500", + "Class": "l125", + "IsCombFunc": true + }, { + "LocationCode": 124, + "LogicCode": 6, + "Name": "RCtl", + "LangTitle": "key_r_control", + "DriverValue": "0x02000010", + "Class": "l125" + }, { + "LocationCode": 125, + "LogicCode": 85, + "Name": "←", + "LangTitle": "key_arrow_left", + "DriverValue": "0x02005000", + "IsCombFunc": true + }, { + "LocationCode": 126, + "LogicCode": 86, + "Name": "↓", + "LangTitle": "key_arrow_down", + "DriverValue": "0x02005100", + "IsCombFunc": true + }, { + "LocationCode": 127, + "LogicCode": 84, + "Name": "→", + "LangTitle": "key_arrow_right", + "DriverValue": "0x02004F00", + "IsCombFunc": true + }] + }] +}, { + "title": "小键盘数字键区域", + "keytype": "pad", + "lang": "kb_pad", + "icon": "el-icon-kb-key-calc", + "pid": "0", + "pname": "singlebutton", + "keys": [{ + "linekeys": [{ + "LocationCode": 40, + "LogicCode": 88, + "Name": "NumLk", + "LangTitle": "key_num_lock", + "DriverValue": "0x02005300", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 41, + "LogicCode": 89, + "Name": "Num/", + "LangTitle": "key_num_decimal", + "DriverValue": "0x02005400", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 42, + "LogicCode": 90, + "Name": "Num*", + "LangTitle": "key_num_multiply", + "DriverValue": "0x02005500", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 43, + "LogicCode": 91, + "Name": "Num-", + "LangTitle": "key_num_subtract", + "DriverValue": "0x02005600", + "Class": "l150", + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 62, + "LogicCode": 100, + "Name": "Num7", + "LangTitle": "key_num_7", + "DriverValue": "0x02005F00", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 63, + "LogicCode": 101, + "Name": "Num8", + "LangTitle": "key_num_8", + "DriverValue": "0x02006000", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 64, + "LogicCode": 102, + "Name": "Num9", + "LangTitle": "key_num_9", + "DriverValue": "0x02006100", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 65, + "LogicCode": 92, + "Name": "Num+", + "LangTitle": "key_num_add", + "DriverValue": "0x02005700", + "Class": "l150", + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 84, + "LogicCode": 97, + "Name": "Num4", + "LangTitle": "key_num_4", + "DriverValue": "0x02005C00", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 85, + "LogicCode": 98, + "Name": "Num5", + "LangTitle": "key_num_5", + "DriverValue": "0x02005D00", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 86, + "LogicCode": 99, + "Name": "Num6", + "LangTitle": "key_num_6", + "DriverValue": "0x02005E00", + "Class": "l150", + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 106, + "LogicCode": 94, + "Name": "Num1", + "LangTitle": "key_num_1", + "DriverValue": "0x02005900", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 107, + "LogicCode": 95, + "Name": "Num2", + "LangTitle": "key_num_2", + "DriverValue": "0x02005A00", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 108, + "LogicCode": 96, + "Name": "Num3", + "LangTitle": "key_num_3", + "DriverValue": "0x02005B00", + "Class": "l150", + "IsCombFunc": true + }] + }, { + "linekeys": [{ + "LocationCode": 128, + "LogicCode": 103, + "Name": "Num0", + "LangTitle": "key_num_0", + "DriverValue": "0x02006200", + "Class": "l300", + "IsCombFunc": true + }, { + "LocationCode": 130, + "LogicCode": 104, + "Name": "Num.", + "LangTitle": "key_num_fullstop", + "DriverValue": "0x02006300", + "Class": "l150", + "IsCombFunc": true + }, { + "LocationCode": 109, + "LogicCode": 93, + "Name": "Num←", + "LangTitle": "key_num_enter", + "DriverValue": "0x02005800", + "Class": "l150", + "IsCombFunc": true + }] + }] +}, { + "title": "多媒体", + "keytype": "media", + "lang": "kb_media", + "icon": "el-icon-kb-key-media", + "pid": "4", + "pname": "media", + "keys": [{ + "linekeys": [{ + "Name": "媒体播放器", + "LangTitle": "key_media_player", + "DriverValue": "0x03000183", + "Class": "l225" + }, { + "Name": "播放/暂停", + "LangTitle": "key_media_play_pause", + "DriverValue": "0x030000CD", + "Class": "l225" + }, { + "Name": "停止", + "LangTitle": "key_media_stop", + "DriverValue": "0x030000B7", + "Class": "l225" + }] + }, { + "linekeys": [{ + "Name": "上一曲", + "LangTitle": "key_media_prev", + "DriverValue": "0x030000B6", + "Class": "rowstart l225" + }, { + "Name": "下一曲", + "LangTitle": "key_media_next", + "DriverValue": "0x030000B5", + "Class": "l225" + }] + }, { + "linekeys": [{ + "Name": "音量加", + "LangTitle": "key_media_volume_inc", + "DriverValue": "0x030000E9", + "Class": "rowstart l225" + }, { + "Name": "音量减", + "LangTitle": "key_media_volume_dec", + "DriverValue": "0x030000EA", + "Class": "l225" + }, { + "Name": "静音", + "LangTitle": "key_media_volume_mute", + "DriverValue": "0x030000E2", + "Class": "l225" + }] + }] +}, { + "title": "系统", + "keytype": "system", + "lang": "kb_system", + "icon": "el-icon-kb-computer2", + "pid": "5", + "pname": "system", + "keys": [{ + "linekeys": [{ + "Name": "浏览器后退", + "LangTitle": "key_brower_back", + "DriverValue": "0x03000224", + "Class": "l225" + }, { + "Name": "浏览器前进", + "LangTitle": "key_brower_advance", + "DriverValue": "0x03000225", + "Class": "l225" + }, { + "Name": "浏览器刷新", + "LangTitle": "key_brower_refresh", + "DriverValue": "0x03000227", + "Class": "l225" + }, { + "Name": "浏览器收藏", + "LangTitle": "key_brower_collection", + "DriverValue": "0x0300022A", + "Class": "l225" + }, { + "Name": "浏览器主页", + "LangTitle": "key_brower_home", + "DriverValue": "0x03000223", + "Class": "l225" + }] + }, { + "linekeys": [{ + "Name": "Email", + "LangTitle": "key_email", + "DriverValue": "0x0300018A", + "Class": "l225" + }, { + "Name": "我的电脑", + "LangTitle": "key_my_computer", + "DriverValue": "0x03000194", + "Class": "l225" + }, { + "Name": "计算器", + "LangTitle": "key_calculator", + "DriverValue": "0x03000192", + "Class": "l225" + }] + }, { + "linekeys": [{ + "Name": "复制", + "DriverValue": "0x02000601", + "LangTitle": "key_copy", + "Class": "l225" + }, { + "Name": "粘贴", + "DriverValue": "0x02001901", + "LangTitle": "key_paste", + "Class": "l225" + }, { + "Name": "截屏", + "DriverValue": "0x02004600", + "LangTitle": "key_screenshot", + "Class": "l225" + }] + }] +}, { + "title": "鼠标", + "keytype": "mouse", + "lang": "kb_mouse", + "icon": "el-icon-kb-mouse4", + "pid": "3", + "pname": "mouse", + "keys": [{ + "linekeys": [{ + "Name": "单击左键", + "LangTitle": "key_mouse_left_click", + "DriverValue": "0x01010001", + "Class": "l225" + }, { + "Name": "单机右键", + "LangTitle": "key_mouse_right_click", + "DriverValue": "0x01010002", + "Class": "l225" + }, { + "Name": "单机滚轮", + "LangTitle": "key_mouse_middle_click", + "DriverValue": "0x01010004", + "Class": "l225" + }, { + "Name": "后退", + "LangTitle": "key_mouse_back", + "DriverValue": "0x01010008", + "Class": "l225" + }, { + "Name": "前进", + "LangTitle": "key_mouse_advance", + "DriverValue": "0x01010010", + "Class": "l225" + }] + }] +}, { + "title": "禁用", + "keytype": "disable", + "lang": "kb_disable", + "icon": "el-icon-kb-disabled1", + "pid": "6", + "pname": "disable", + "keys": [{ + "linekeys": [{ + "Name": "禁用", + "LangTitle": "key_disable", + "DriverValue": "0x02000000", + "Class": "l250" + }, { + "Name": "禁用全部", + "LangTitle": "key_disable_all", + "DriverValue": "disable_all", + "Class": "l250" + }, { + "Name": "取消禁用", + "LangTitle": "key_disable_cancel", + "DriverValue": "disable_enable", + "Class": "l250" + }] + }, { + "linekeys": [{ + "Name": "禁用数字键", + "LangTitle": "key_disable_num", + "DriverValue": "disable_num", + "Class": "l250" + }, { + "Name": "禁用pad", + "LangTitle": "key_disable_pad", + "DriverValue": "disable_pad", + "Class": "l250" + }, { + "Name": "禁用F1-F12", + "LangTitle": "key_disable_fx", + "DriverValue": "disable_fx", + "Class": "l250" + }, { + "Name": "禁用字母", + "LangTitle": "key_disable_letter", + "DriverValue": "disable_letter", + "Class": "l250" + }] + }, { + "linekeys": [{ + "Name": "禁用符号", + "LangTitle": "key_disable_symbol", + "DriverValue": "disable_symbol", + "Class": "rowstart l250" + }, { + "Name": "禁用控制键", + "LangTitle": "key_disable_ctrls", + "DriverValue": "disable_ctrls", + "Class": "l250" + }, { + "Name": "禁用九键", + "LangTitle": "key_disable_funcs", + "DriverValue": "disable_func9", + "Class": "l250" + }, { + "Name": "禁用方向键", + "LangTitle": "key_disable_direction", + "DriverValue": "disable_direction", + "Class": "l250" + }] + }] +}, { + "title": "层瞬时开关", + "keytype": "mode-layer-temp-switch", + "lang": "mode_layer_temp_switch", + "icon": "el-icon-kb-copy1", + "pid": "7", + "pname": "Fnx", + "keys": [{ + "linekeys": [{ + "Name": "标准模式", + "LangTitle": "key_mode_std", + "DriverValue": "0x0a070001", + "Class": "l225" + }, { + "Name": "离线1", + "LangTitle": "key_mode_offline_1", + "DriverValue": "0x0a070002", + "Class": "l225" + }, { + "Name": "离线2", + "LangTitle": "key_mode_offline_2", + "DriverValue": "0x0a070003", + "Class": "l225" + }, { + "Name": "离线3", + "LangTitle": "key_mode_offline_3", + "DriverValue": "0x0a070004", + "Class": "l225" + }] + }] +}] \ No newline at end of file diff --git a/Build/Data/keys/655491200.txt b/Build/Data/keys/655491200.txt new file mode 100644 index 0000000..e69de29 diff --git a/Build/Data/lighting/61 Blt Direction key.le b/Build/Data/lighting/61 Blt Direction key.le new file mode 100644 index 0000000..8e99bef --- /dev/null +++ b/Build/Data/lighting/61 Blt Direction key.le @@ -0,0 +1,94 @@ +{ + "GUID": "806098FC-F845-4187-898E-8A6259EC6326", + "Name": "61蓝牙版方向键", + "LeCate": 610, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "#ffffff", + "2": "#ffffff", + "3": "#ffffff", + "4": "#ffffff", + "5": "#ffffff", + "6": "#ffffff", + "7": "#ffffff", + "8": "#ffffff", + "9": "#ffffff", + "10": "#ffffff", + "11": "#ffffff", + "12": "#ffffff", + "13": "#ffffff", + "14": "#ffffff", + "17": "0xffffff", + "18": "0xffffff", + "22": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "35": "#ffffff", + "36": "#ffffff", + "39": "0xffffff", + "40": "0xffffff", + "44": "#ffffff", + "46": "#ffffff", + "47": "#ffffff", + "48": "#ffffff", + "49": "#ffffff", + "50": "#ffffff", + "51": "#ffffff", + "52": "#ffffff", + "53": "#ffffff", + "54": "#ffffff", + "55": "#ffffff", + "56": "#ffffff", + "58": "#ffffff", + "61": "0xffffff", + "62": "0xffffff", + "66": "#ffffff", + "68": "#ffffff", + "69": "#ffffff", + "70": "#ffffff", + "71": "#ffffff", + "72": "#ffffff", + "73": "#ffffff", + "74": "#ffffff", + "75": "#ffffff", + "76": "#ffffff", + "77": "#ffffff", + "80": "#ffffff", + "88": "#ffffff", + "89": "#ffffff", + "90": "#ffffff", + "94": "#ffffff", + "98": "#ffffff", + "99": "#ffffff", + "100": "#ffffff", + "102": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [102, 88, 66, 90, 89, 80, 46, 72, 70, 48, 26, 49, 50, 51, 31, 52, 53, 54, 74, 73, 32, 33, 24, 27, 47, 28, 30, 71, 25, 69, 29, 68, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 58, 0, 14, 22, 94, 12, 13, 34, 35, 36, 55, 56, 75, 76, 44], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [77, 99, 98, 100], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [17, 39, 61, 18, 40, 62], + "Color": "0xff0000", + "Type": 1, + "Count": 50 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/61 Blt F1-F12.le b/Build/Data/lighting/61 Blt F1-F12.le new file mode 100644 index 0000000..8726be6 --- /dev/null +++ b/Build/Data/lighting/61 Blt F1-F12.le @@ -0,0 +1,38 @@ +{ + "GUID": "75430B47-A033-4ffa-95E1-41D0DC98393C", + "Name": "61蓝牙版F1-F12", + "LeCate": 610, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "77": "0xffffff", + "98": "0xffffff", + "99": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 77, 98, 99], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/61 Blt Function 9 keys.le b/Build/Data/lighting/61 Blt Function 9 keys.le new file mode 100644 index 0000000..cace0bf --- /dev/null +++ b/Build/Data/lighting/61 Blt Function 9 keys.le @@ -0,0 +1,37 @@ +{ + "GUID": "6F3292E7-9D9B-4166-99A2-C128DAA7E8E5", + "Name": "61蓝牙版功能九键", + "LeCate": 610, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [31, 30, 52, 53, 74, 75, 32, 54, 76], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [17, 39, 61, 18, 40, 62], + "Color": "0xff0000", + "Type": 1, + "Count": 50 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/61 direction key.le b/Build/Data/lighting/61 direction key.le new file mode 100644 index 0000000..4fc80a5 --- /dev/null +++ b/Build/Data/lighting/61 direction key.le @@ -0,0 +1,153 @@ +{ + "GUID": "423AA6B6-1D6A-4ec9-8F57-FE9E2F11DA31", + "Name": "61方向键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [124, 110, 88, 112, 111, 102, 67, 94, 92, 69, 47, 70, 71, 72, 52, 73, 74, 75, 96, 95, 53, 54, 45, 48, 68, 49, 51, 93, 46, 91, 50, 90, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 79, 22, 36, 44, 116, 33, 34, 55, 56, 58, 76, 77, 97, 98, 66, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 17, 126, 104, 82, 60, 38, 16, 105, 83, 61, 39, 37, 59, 81, 103, 125, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [99, 121, 120, 122], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/61-layer2.le b/Build/Data/lighting/61-layer2.le new file mode 100644 index 0000000..ec89823 --- /dev/null +++ b/Build/Data/lighting/61-layer2.le @@ -0,0 +1,32 @@ +{ + "GUID": "BDD42643-67BC-4a7b-9019-E2824F718442", + "Name": "61-layer2", + "LeCate": 610, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "23": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "99": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 121, 120, 99], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/62 direction key.le b/Build/Data/lighting/62 direction key.le new file mode 100644 index 0000000..37b5ba1 --- /dev/null +++ b/Build/Data/lighting/62 direction key.le @@ -0,0 +1,158 @@ +{ + "GUID": "15AF7F87-B386-466c-9A8F-DD7CD55339D3", + "Name": "62方向键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [121, 122, 100, 124], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [110, 88, 112, 111, 102, 67, 94, 92, 69, 47, 70, 71, 72, 52, 73, 74, 75, 96, 95, 53, 54, 45, 48, 68, 49, 51, 93, 46, 91, 50, 90, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 79, 22, 36, 44, 116, 33, 34, 55, 56, 58, 76, 77, 97, 98, 66, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 123, 125, 126, 127, 128, 129, 130, 131, 99, 120], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [102], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/64 Blt Direction key.le b/Build/Data/lighting/64 Blt Direction key.le new file mode 100644 index 0000000..59639e0 --- /dev/null +++ b/Build/Data/lighting/64 Blt Direction key.le @@ -0,0 +1,86 @@ +{ + "GUID": "D621E59B-2AEB-47ea-9CDF-00B9359E810C", + "Name": "64蓝牙方向键", + "LeCate": 641, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "#ffffff", + "2": "#ffffff", + "3": "#ffffff", + "4": "#ffffff", + "5": "#ffffff", + "6": "#ffffff", + "7": "#ffffff", + "8": "#ffffff", + "9": "#ffffff", + "10": "#ffffff", + "11": "#ffffff", + "12": "#ffffff", + "13": "#ffffff", + "14": "#ffffff", + "22": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "35": "#ffffff", + "36": "#ffffff", + "44": "#ffffff", + "46": "#ffffff", + "47": "#ffffff", + "48": "#ffffff", + "49": "#ffffff", + "50": "#ffffff", + "51": "#ffffff", + "52": "#ffffff", + "53": "#ffffff", + "54": "#ffffff", + "55": "#ffffff", + "56": "#ffffff", + "58": "#ffffff", + "66": "#ffffff", + "68": "#ffffff", + "69": "#ffffff", + "70": "#ffffff", + "71": "#ffffff", + "72": "#ffffff", + "73": "#ffffff", + "74": "#ffffff", + "75": "#ffffff", + "76": "#ffffff", + "77": "#ffffff", + "78": "#ffffff", + "79": "#ffffff", + "80": "#ffffff", + "88": "#ffffff", + "89": "#ffffff", + "90": "#ffffff", + "94": "#ffffff", + "98": "#ffffff", + "99": "#ffffff", + "100": "#ffffff", + "101": "#ffffff", + "102": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [98, 88, 66, 90, 89, 99, 78, 46, 72, 70, 48, 26, 49, 50, 51, 31, 52, 53, 54, 74, 73, 32, 33, 24, 27, 47, 28, 30, 71, 25, 69, 29, 68, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 58, 0, 14, 22, 94, 12, 13, 34, 35, 36, 55, 56, 75, 76, 77, 44, 80], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [79, 102, 101, 100], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/64 Blt F1-F12.le b/Build/Data/lighting/64 Blt F1-F12.le new file mode 100644 index 0000000..f4c1b18 --- /dev/null +++ b/Build/Data/lighting/64 Blt F1-F12.le @@ -0,0 +1,29 @@ +{ + "GUID": "B9221CEB-F80E-408b-B074-EBB615DB93B4", + "Name": "64蓝牙F1-F12", + "LeCate": 641, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/64 Blt Function 9 keys.le b/Build/Data/lighting/64 Blt Function 9 keys.le new file mode 100644 index 0000000..81e9e3a --- /dev/null +++ b/Build/Data/lighting/64 Blt Function 9 keys.le @@ -0,0 +1,26 @@ +{ + "GUID": "0EEFA343-3E25-4368-A332-665298D91EBD", + "Name": "64蓝牙功能九键", + "LeCate": 641, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [31, 32, 30, 52, 53, 54, 74, 75, 76], + "Color": "0xff00ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/64 direction key.le b/Build/Data/lighting/64 direction key.le new file mode 100644 index 0000000..3f64b5c --- /dev/null +++ b/Build/Data/lighting/64 direction key.le @@ -0,0 +1,158 @@ +{ + "GUID": "71775289-0685-4c00-8F80-5E44FF1E173B", + "Name": "64方向键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [124, 101, 123, 122], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [110, 88, 112, 111, 102, 67, 94, 92, 69, 47, 70, 71, 72, 52, 73, 74, 75, 96, 95, 53, 54, 45, 48, 68, 49, 51, 93, 46, 91, 50, 90, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 79, 22, 36, 44, 116, 33, 34, 55, 56, 58, 76, 77, 97, 98, 66, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 125, 126, 127, 128, 129, 130, 131, 99, 120, 100, 121], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 Blt Direction key.le b/Build/Data/lighting/68 Blt Direction key.le new file mode 100644 index 0000000..884ee00 --- /dev/null +++ b/Build/Data/lighting/68 Blt Direction key.le @@ -0,0 +1,103 @@ +{ + "GUID": "9E19B278-3BFC-4e96-9858-61AEB84AF17C", + "Name": "68 Blt Direction key", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "#ffffff", + "2": "#ffffff", + "3": "#ffffff", + "4": "#ffffff", + "5": "#ffffff", + "6": "#ffffff", + "7": "#ffffff", + "8": "#ffffff", + "9": "#ffffff", + "10": "#ffffff", + "11": "#ffffff", + "12": "#ffffff", + "13": "#ffffff", + "14": "#ffffff", + "16": "#ffffff", + "17": "#ffffff", + "18": "#ffffff", + "22": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "35": "#ffffff", + "37": "#ffffff", + "38": "#ffffff", + "39": "#ffffff", + "40": "#ffffff", + "44": "#ffffff", + "46": "#ffffff", + "47": "#ffffff", + "48": "#ffffff", + "49": "#ffffff", + "50": "#ffffff", + "51": "#ffffff", + "52": "#ffffff", + "53": "#ffffff", + "54": "#ffffff", + "55": "#ffffff", + "56": "#ffffff", + "58": "#ffffff", + "60": "#ffffff", + "61": "#ffffff", + "62": "#ffffff", + "66": "#ffffff", + "68": "#ffffff", + "69": "#ffffff", + "70": "#ffffff", + "71": "#ffffff", + "72": "#ffffff", + "73": "#ffffff", + "74": "#ffffff", + "75": "#ffffff", + "76": "#ffffff", + "77": "#ffffff", + "79": "#ffffff", + "81": "#ffffff", + "82": "#ffffff", + "83": "#ffffff", + "84": "#ffffff", + "88": "#ffffff", + "89": "#ffffff", + "90": "#ffffff", + "94": "#ffffff", + "97": "#ffffff", + "98": "#ffffff", + "99": "#ffffff", + "101": "#ffffff", + "103": "#ffffff", + "104": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [98, 88, 66, 90, 89, 99, 79, 46, 72, 70, 48, 26, 49, 50, 51, 31, 52, 53, 54, 74, 73, 32, 33, 24, 27, 47, 28, 30, 71, 25, 69, 29, 68, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 58, 0, 16, 22, 94, 12, 13, 34, 35, 37, 55, 56, 75, 76, 77, 44, 14, 38, 60, 82, 97], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [81, 101, 103, 104], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [17, 39, 61, 83, 18, 40, 62, 84], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 Blt F1-F12.le b/Build/Data/lighting/68 Blt F1-F12.le new file mode 100644 index 0000000..69699de --- /dev/null +++ b/Build/Data/lighting/68 Blt F1-F12.le @@ -0,0 +1,42 @@ +{ + "GUID": "BB2F8B7D-61F7-46e2-8566-054E95AEB344", + "Name": "68 Blt F1-F12", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "83": "0xffffff", + "84": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [17, 39, 61, 83, 18, 40, 62, 84], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 Blt Function 9 keys.le b/Build/Data/lighting/68 Blt Function 9 keys.le new file mode 100644 index 0000000..cc4f94e --- /dev/null +++ b/Build/Data/lighting/68 Blt Function 9 keys.le @@ -0,0 +1,39 @@ +{ + "GUID": "99B3BB2B-E973-4544-BC18-25C92A3F1A97", + "Name": "68 Blt Function 9 keys", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "83": "0xffffff", + "84": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [31, 32, 30, 52, 53, 54, 74, 75, 76], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [18, 40, 62, 84, 17, 39, 61, 83], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 Direction key.le b/Build/Data/lighting/68 Direction key.le new file mode 100644 index 0000000..391dcf7 --- /dev/null +++ b/Build/Data/lighting/68 Direction key.le @@ -0,0 +1,160 @@ +{ + "GUID": "1272AE09-AC03-424e-81BF-9FE422F30D15", + "Name": "68键方向键", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [60, 82, 104, 126, 61, 83, 105, 127], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }, { + "Keys": [102, 124, 123, 125], + "Color": "0x0900ff", + "Type": 2, + "Count": 10, + "StayCount": 3 + }, { + "Keys": [121, 110, 88, 112, 111, 122, 101, 67, 94, 92, 69, 47, 70, 71, 72, 52, 73, 74, 75, 96, 95, 53, 54, 45, 48, 68, 49, 51, 93, 46, 91, 50, 90, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 79, 22, 37, 44, 116, 33, 34, 55, 56, 58, 76, 77, 97, 98, 99, 66, 36, 59, 81, 103, 120], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 Function 9keys.le b/Build/Data/lighting/68 Function 9keys.le new file mode 100644 index 0000000..32dbc62 --- /dev/null +++ b/Build/Data/lighting/68 Function 9keys.le @@ -0,0 +1,39 @@ +{ + "GUID": "188805E0-0322-4fa6-BB84-E9DA9D8CD482", + "Name": "68键功能九键", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "60": "#ffffff", + "61": "#ffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "82": "#ffffff", + "83": "#ffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "104": "#ffffff", + "105": "#ffffff", + "126": "#ffffff", + "127": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [60, 82, 104, 126, 61, 83, 105, 127], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }, { + "Keys": [52, 53, 51, 73, 74, 75, 96, 97, 98], + "Color": "0xea00ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/68 keys F1-F12.le b/Build/Data/lighting/68 keys F1-F12.le new file mode 100644 index 0000000..df5fce7 --- /dev/null +++ b/Build/Data/lighting/68 keys F1-F12.le @@ -0,0 +1,42 @@ +{ + "GUID": "A48178E4-1617-4f57-B31E-191B0B25C898", + "Name": "68键F1-F12", + "LeCate": 680, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [60, 82, 104, 126, 61, 83, 105, 127], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }, { + "Keys": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], + "Color": "0xdd00ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/7 colors gradual change.le b/Build/Data/lighting/7 colors gradual change.le new file mode 100644 index 0000000..bbb8dc5 --- /dev/null +++ b/Build/Data/lighting/7 colors gradual change.le @@ -0,0 +1,173 @@ +{ + "GUID": "C72F3EE5-3B74-4f5e-A2B4-A71D008D2731", + "Name": "七彩渐变", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }, { + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], + "Color": "0x0000ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], + "Color": "0x00ff09", + "Type": 1, + "Count": 30 + }, { + "Keys": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], + "Color": "0xb700ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], + "Color": "0xf7ff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x00ffea", + "Type": 1, + "Count": 30 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/81 Direction key.le b/Build/Data/lighting/81 Direction key.le new file mode 100644 index 0000000..be0ea48 --- /dev/null +++ b/Build/Data/lighting/81 Direction key.le @@ -0,0 +1,154 @@ +{ + "GUID": "7FC41E34-FF7E-4150-B351-07376BC1C6C8", + "Name": "81方向键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x15ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [79, 101, 100, 102], + "Color": "0xff0000", + "Type": 2, + "Count": 3, + "StayCount": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/81 Function 9keys.le b/Build/Data/lighting/81 Function 9keys.le new file mode 100644 index 0000000..5ebd7d5 --- /dev/null +++ b/Build/Data/lighting/81 Function 9keys.le @@ -0,0 +1,26 @@ +{ + "GUID": "0051FC09-7093-4320-ADE6-28052EB141F0", + "Name": "81键多功能键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [31, 32, 30, 52, 53, 54, 74, 75, 76], + "Color": "0xea00ff", + "Type": 2, + "Count": 10, + "StayCount": 2 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/81 Keys F1-F12.le b/Build/Data/lighting/81 Keys F1-F12.le new file mode 100644 index 0000000..59e5498 --- /dev/null +++ b/Build/Data/lighting/81 Keys F1-F12.le @@ -0,0 +1,28 @@ +{ + "GUID": "062C401D-A908-4083-9C7E-DC0CB1C93A8E", + "Name": "81键F12", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], + "Color": "0xffff00", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/84 Calculator.le b/Build/Data/lighting/84 Calculator.le new file mode 100644 index 0000000..f665620 --- /dev/null +++ b/Build/Data/lighting/84 Calculator.le @@ -0,0 +1,32 @@ +{ + "GUID": "081497C1-F999-4c76-A622-B08CD827A58A", + "Name": "84计算器", + "LeCate": 840, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "96": "0xffffff", + "98": "0xffffff", + "99": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [53, 54, 55, 52, 30, 31, 32, 33, 74, 75, 76, 77, 96, 98, 99], + "Color": "0x00ff11", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/84 Direction key.le b/Build/Data/lighting/84 Direction key.le new file mode 100644 index 0000000..1f49c21 --- /dev/null +++ b/Build/Data/lighting/84 Direction key.le @@ -0,0 +1,107 @@ +{ + "GUID": "0D9BFF78-3427-4569-8419-D1715CDC06AC", + "Name": "84方向键", + "LeCate": 840, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "#ffffff", + "2": "#ffffff", + "3": "#ffffff", + "4": "#ffffff", + "5": "#ffffff", + "6": "#ffffff", + "7": "#ffffff", + "8": "#ffffff", + "9": "#ffffff", + "10": "#ffffff", + "11": "#ffffff", + "12": "#ffffff", + "13": "#ffffff", + "14": "#ffffff", + "15": "#ffffff", + "16": "#ffffff", + "22": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "35": "#ffffff", + "36": "#ffffff", + "38": "#ffffff", + "44": "#ffffff", + "46": "#ffffff", + "47": "#ffffff", + "48": "#ffffff", + "49": "#ffffff", + "50": "#ffffff", + "51": "#ffffff", + "52": "#ffffff", + "53": "#ffffff", + "54": "#ffffff", + "55": "#ffffff", + "56": "#ffffff", + "57": "#ffffff", + "58": "#ffffff", + "60": "#ffffff", + "66": "#ffffff", + "68": "#ffffff", + "69": "#ffffff", + "70": "#ffffff", + "71": "#ffffff", + "72": "#ffffff", + "73": "#ffffff", + "74": "#ffffff", + "75": "#ffffff", + "76": "#ffffff", + "77": "#ffffff", + "78": "#ffffff", + "80": "#ffffff", + "82": "#ffffff", + "88": "#ffffff", + "90": "#ffffff", + "91": "#ffffff", + "92": "#ffffff", + "93": "#ffffff", + "94": "#ffffff", + "95": "#ffffff", + "96": "#ffffff", + "97": "#ffffff", + "98": "#ffffff", + "99": "#ffffff", + "101": "#ffffff", + "103": "#ffffff", + "104": "#ffffff", + "110": "#ffffff", + "111": "#ffffff", + "112": "#ffffff", + "116": "#ffffff", + "120": "#ffffff", + "121": "#ffffff", + "122": "#ffffff", + "124": "#ffffff", + "125": "#ffffff", + "126": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [121, 110, 88, 112, 111, 122, 101, 120, 68, 94, 92, 70, 48, 71, 72, 73, 53, 74, 75, 76, 96, 95, 54, 55, 46, 49, 69, 50, 52, 93, 47, 91, 51, 90, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 80, 0, 36, 44, 116, 34, 35, 56, 57, 58, 77, 78, 22, 97, 98, 99, 66, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 38, 60, 104, 82], + "Color": "0x0dff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [103, 125, 124, 126], + "Color": "0x0000ff", + "Type": 2, + "Count": 20, + "StayCount": 6 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/84 Spectral cycle down.le b/Build/Data/lighting/84 Spectral cycle down.le new file mode 100644 index 0000000..3a4075b --- /dev/null +++ b/Build/Data/lighting/84 Spectral cycle down.le @@ -0,0 +1,126 @@ +{ + "GUID": "2E9AC818-0C23-41f1-9BA8-B35FBDA3F3E4", + "Name": "84键光谱循环上下", + "LeCate": 840, + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "#ffffff", + "2": "#ffffff", + "3": "#ffffff", + "4": "#ffffff", + "5": "#ffffff", + "6": "#ffffff", + "7": "#ffffff", + "8": "#ffffff", + "9": "#ffffff", + "10": "#ffffff", + "11": "#ffffff", + "12": "#ffffff", + "13": "#ffffff", + "14": "#ffffff", + "15": "#ffffff", + "16": "#ffffff", + "22": "#ffffff", + "24": "#ffffff", + "25": "#ffffff", + "26": "#ffffff", + "27": "#ffffff", + "28": "#ffffff", + "29": "#ffffff", + "30": "#ffffff", + "31": "#ffffff", + "32": "#ffffff", + "33": "#ffffff", + "34": "#ffffff", + "35": "#ffffff", + "36": "#ffffff", + "38": "#ffffff", + "44": "#ffffff", + "46": "#ffffff", + "47": "#ffffff", + "48": "#ffffff", + "49": "#ffffff", + "50": "#ffffff", + "51": "#ffffff", + "52": "#ffffff", + "53": "#ffffff", + "54": "#ffffff", + "55": "#ffffff", + "56": "#ffffff", + "57": "#ffffff", + "58": "#ffffff", + "60": "#ffffff", + "66": "#ffffff", + "68": "#ffffff", + "69": "#ffffff", + "70": "#ffffff", + "71": "#ffffff", + "72": "#ffffff", + "73": "#ffffff", + "74": "#ffffff", + "75": "#ffffff", + "76": "#ffffff", + "77": "#ffffff", + "78": "#ffffff", + "80": "#ffffff", + "82": "#ffffff", + "88": "#ffffff", + "90": "#ffffff", + "91": "#ffffff", + "92": "#ffffff", + "93": "#ffffff", + "94": "#ffffff", + "95": "#ffffff", + "96": "#ffffff", + "97": "#ffffff", + "98": "#ffffff", + "99": "#ffffff", + "101": "#ffffff", + "103": "#ffffff", + "104": "#ffffff", + "110": "#ffffff", + "111": "#ffffff", + "112": "#ffffff", + "116": "#ffffff", + "120": "#ffffff", + "121": "#ffffff", + "122": "#ffffff", + "124": "#ffffff", + "125": "#ffffff", + "126": "#ffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + "Color": "0xff0040", + "Type": 1, + "Count": 50 + }, { + "Keys": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 34, 35, 22, 38], + "Color": "0xff0091", + "Type": 1, + "Count": 50 + }, { + "Keys": [48, 53, 54, 55, 46, 49, 50, 52, 47, 51, 44, 56, 57, 58, 60], + "Color": "0xff00e1", + "Type": 1, + "Count": 50 + }, { + "Keys": [68, 70, 71, 72, 73, 74, 75, 76, 69, 80, 77, 78, 66, 82], + "Color": "0xbf00ff", + "Type": 1, + "Count": 50 + }, { + "Keys": [88, 101, 94, 92, 96, 95, 93, 91, 90, 97, 98, 99, 104, 103], + "Color": "0x6f00ff", + "Type": 1, + "Count": 50 + }, { + "Keys": [121, 110, 112, 111, 122, 120, 116, 126, 124, 125], + "Color": "0x5100ff", + "Type": 1, + "Count": 50 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Blue Light.le b/Build/Data/lighting/Blue Light.le new file mode 100644 index 0000000..1f710e6 --- /dev/null +++ b/Build/Data/lighting/Blue Light.le @@ -0,0 +1,148 @@ +{ + "GUID": "EAE11DA5-004D-49f9-A5A6-050F00FB9038", + "Name": "全局蓝光", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Blue light respiration.le b/Build/Data/lighting/Blue light respiration.le new file mode 100644 index 0000000..0b63a9c --- /dev/null +++ b/Build/Data/lighting/Blue light respiration.le @@ -0,0 +1,149 @@ +{ + "GUID": "CB7DBFD0-2463-4aa7-AAEF-0512BFC1F6A2", + "Name": "全局蓝光呼吸", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x0000ff", + "Type": 2, + "Count": 20, + "StayCount": 5 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Colorful cloud flying.le b/Build/Data/lighting/Colorful cloud flying.le new file mode 100644 index 0000000..48ea5a6 --- /dev/null +++ b/Build/Data/lighting/Colorful cloud flying.le @@ -0,0 +1,2736 @@ +{ + "GUID": "6107B7F8-5C91-4ee1-8220-D80C15715710", + "Name": "彩云飞", + "LeType": "simple", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "88": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame2", + "Data": { + "66": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame3", + "Data": { + "44": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame4", + "Data": { + "22": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame6", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame7", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame8", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame9", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame10", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame11", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame12", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame13", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame14", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame15", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame16", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame17", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame18", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame19", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame20", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame21", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame22", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame23", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame24", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame25", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "109": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame26", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "87": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame27", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "65": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame28", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "43": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame29", + "Data": { + "21": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame30", + "Data": {} + }, { + "Count": 1, + "Name": "frame31", + "Data": { + "0": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame32", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame33", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame34", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "66": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame35", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "88": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame36", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame37", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame38", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame39", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame40", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame41", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame42", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame43", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame44", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame45", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame46", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame47", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame48", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame49", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame50", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame51", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame52", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame53", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame54", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame55", + "Data": { + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame56", + "Data": { + "43": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame57", + "Data": { + "65": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame58", + "Data": { + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame59", + "Data": { + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame60", + "Data": { + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame61", + "Data": {} + }, { + "Count": 1, + "Name": "frame62", + "Data": { + "21": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame63", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "43": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame64", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "65": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame65", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "87": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame66", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "109": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame67", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame68", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame69", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame70", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame71", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame72", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame73", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame74", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame75", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame76", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame77", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame78", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame79", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame80", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame81", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame82", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame83", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame84", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame85", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame86", + "Data": { + "0": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame87", + "Data": { + "22": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame88", + "Data": { + "44": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame89", + "Data": { + "66": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame90", + "Data": { + "88": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame91", + "Data": { + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame92", + "Data": {} + }, { + "Count": 1, + "Name": "frame93", + "Data": { + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame94", + "Data": { + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame95", + "Data": { + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame96", + "Data": { + "65": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame97", + "Data": { + "43": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame98", + "Data": { + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame99", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame100", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame101", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame102", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame103", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame104", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame105", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame106", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame107", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame108", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame109", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame110", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame111", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame112", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame113", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame114", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame115", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame116", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame117", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame118", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "88": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame119", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "66": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame120", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame121", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame122", + "Data": { + "0": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Colorful waterfall.le b/Build/Data/lighting/Colorful waterfall.le new file mode 100644 index 0000000..ec0ac9b --- /dev/null +++ b/Build/Data/lighting/Colorful waterfall.le @@ -0,0 +1,532 @@ +{ + "GUID": "83D327C0-CB0B-4bdf-AA1D-37C1D81BDD8B", + "Name": "多彩瀑布", + "Frames": [{ + "Count": 2, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame2", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame3", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame4", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame6", + "Data": {} + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], + "Color": "0xffa200", + "Type": 0, + "Count": 1 + }, { + "Keys": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], + "Color": "0x00ff09", + "Type": 0, + "Count": 1 + }, { + "Keys": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], + "Color": "0x00ffbf", + "Type": 0, + "Count": 1 + }, { + "Keys": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }, { + "Keys": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xd500ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/DOTA.le b/Build/Data/lighting/DOTA.le new file mode 100644 index 0000000..5cb04a4 --- /dev/null +++ b/Build/Data/lighting/DOTA.le @@ -0,0 +1,31 @@ +{ + "GUID": "31EFF8B5-3363-4905-924A-B4FC9D31D084", + "Name": "DOTA", + "LeType": "simple", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "53": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "72": "0xffffff", + "79": "0xffffff", + "88": "0xffffff", + "96": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [2, 3, 45, 46, 47, 48, 67, 68, 70, 72, 53, 88, 96, 79], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Drift collide.le b/Build/Data/lighting/Drift collide.le new file mode 100644 index 0000000..a325f3d --- /dev/null +++ b/Build/Data/lighting/Drift collide.le @@ -0,0 +1,1099 @@ +{ + "GUID": "586C6562-3006-4c92-8B44-50920FE0C213", + "Name": "漂流碰撞", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "21": "0xffffff", + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "43": "0xffffff", + "88": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame2", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame3", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame4", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "22": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "109": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame6", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame7", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame8", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame9", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame10", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame11", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame12", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame13", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame14", + "Data": { + "0": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame15", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff", + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame16", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff", + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame17", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame18", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame19", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "21": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "110": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame20", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame21", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame22", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame23", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame24", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame25", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame26", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame27", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/F1-F12.le b/Build/Data/lighting/F1-F12.le new file mode 100644 index 0000000..e1d2202 --- /dev/null +++ b/Build/Data/lighting/F1-F12.le @@ -0,0 +1,28 @@ +{ + "GUID": "642A72E2-037D-43cb-9ABD-BD99F0D26DA9", + "Name": "F1-F12键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], + "Color": "0x0000ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Flame.le b/Build/Data/lighting/Flame.le new file mode 100644 index 0000000..06e2bea --- /dev/null +++ b/Build/Data/lighting/Flame.le @@ -0,0 +1,1073 @@ +{ + "GUID": "66D1B9F8-888E-4d90-A83F-7FBF61D0EF01", + "Name": " 火焰", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame0_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy_copy_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5_copy_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1_copy_copy_copy_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5_copy_copy_copy_copy_copy", + "Data": { + "0": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "79": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "102": "0xffffff", + "104": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "116": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [81, 82, 83], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }, { + "Keys": [59, 36, 58, 79, 102, 99, 121, 120, 11, 12, 34, 56, 33, 55, 77, 10, 32, 116, 98, 76, 13, 37, 60, 14, 122, 124, 61, 125, 15, 38, 104, 126, 127], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [54, 31, 53, 74, 96, 95, 73, 52, 30, 8, 7, 29, 51, 5, 28, 50, 94, 9, 75, 97, 93], + "Color": "0xff5900", + "Type": 0, + "Count": 1 + }, { + "Keys": [72, 71, 49, 70, 92, 48, 27, 4, 26, 3, 25, 47, 69, 91, 112, 111, 2, 24, 46, 68, 67, 90, 88, 110, 66, 45, 44, 22, 23, 0], + "Color": "0xffd500", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Four seasons as spring.le b/Build/Data/lighting/Four seasons as spring.le new file mode 100644 index 0000000..7a1fc1b --- /dev/null +++ b/Build/Data/lighting/Four seasons as spring.le @@ -0,0 +1,213 @@ +{ + "GUID": "51FF89E8-8E4D-4fd2-8B26-B1BC7F2BB57E", + "Name": " 四季如春", + "Frames": [{ + "Count": 1, + "Name": "frame4", + "Data": { + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame0", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame1", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame2", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame3", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame5", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame6", + "Data": { + "24": "0xffffff", + "25": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [67, 69, 47, 45, 68, 46, 23, 24, 25, 26, 44, 66], + "Color": "0xff0000", + "Type": 1, + "Count": 20 + }, { + "Keys": [70, 71, 72, 48, 49, 50, 27, 28, 29], + "Color": "0x00ff09", + "Type": 1, + "Count": 20 + }, { + "Keys": [52, 73, 74, 75, 53, 51, 30, 31, 32], + "Color": "0x00ffff", + "Type": 1, + "Count": 20 + }, { + "Keys": [54, 79, 36, 33, 34, 55, 56, 58, 76, 77], + "Color": "0x0000ff", + "Type": 1, + "Count": 20 + }, { + "Keys": [81, 82, 83], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Gradual brighten.le b/Build/Data/lighting/Gradual brighten.le new file mode 100644 index 0000000..250d9db --- /dev/null +++ b/Build/Data/lighting/Gradual brighten.le @@ -0,0 +1,176 @@ +{ + "Name": "渐亮", + "GUID": "6C3B992C-55C8-4c61-B1D0-1789B9E4A8D9", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0x000000", + "1": "0x000000", + "2": "0x000000", + "3": "0x000000", + "4": "0x000000", + "5": "0x000000", + "6": "0x000000", + "7": "0x000000", + "8": "0x000000", + "9": "0x000000", + "10": "0x000000", + "11": "0x000000", + "12": "0x000000", + "13": "0x000000", + "14": "0x000000", + "15": "0x000000", + "16": "0x000000", + "17": "0x000000", + "18": "0x000000", + "19": "0x000000", + "20": "0x000000", + "21": "0x000000", + "22": "0x000000", + "23": "0x000000", + "24": "0x000000", + "25": "0x000000", + "26": "0x000000", + "27": "0x000000", + "28": "0x000000", + "29": "0x000000", + "30": "0x000000", + "31": "0x000000", + "32": "0x000000", + "33": "0x000000", + "34": "0x000000", + "35": "0x000000", + "36": "0x000000", + "37": "0x000000", + "38": "0x000000", + "39": "0x000000", + "40": "0x000000", + "41": "0x000000", + "42": "0x000000", + "43": "0x000000", + "44": "0x000000", + "45": "0x000000", + "46": "0x000000", + "47": "0x000000", + "48": "0x000000", + "49": "0x000000", + "50": "0x000000", + "51": "0x000000", + "52": "0x000000", + "53": "0x000000", + "54": "0x000000", + "55": "0x000000", + "56": "0x000000", + "57": "0x000000", + "58": "0x000000", + "59": "0x000000", + "60": "0x000000", + "61": "0x000000", + "62": "0x000000", + "63": "0x000000", + "64": "0x000000", + "65": "0x000000", + "66": "0x000000", + "67": "0x000000", + "68": "0x000000", + "69": "0x000000", + "70": "0x000000", + "71": "0x000000", + "72": "0x000000", + "73": "0x000000", + "74": "0x000000", + "75": "0x000000", + "76": "0x000000", + "77": "0x000000", + "78": "0x000000", + "79": "0x000000", + "80": "0x000000", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0x000000", + "85": "0x000000", + "86": "0x000000", + "87": "0x000000", + "88": "0x000000", + "89": "0x000000", + "90": "0x000000", + "91": "0x000000", + "92": "0x000000", + "93": "0x000000", + "94": "0x000000", + "95": "0x000000", + "96": "0x000000", + "97": "0x000000", + "98": "0x000000", + "99": "0x000000", + "100": "0x000000", + "101": "0x000000", + "102": "0x000000", + "103": "0x000000", + "104": "0x000000", + "105": "0x000000", + "106": "0x000000", + "107": "0x000000", + "108": "0x000000", + "109": "0x000000", + "110": "0x000000", + "111": "0x000000", + "112": "0x000000", + "113": "0x000000", + "114": "0x000000", + "115": "0x000000", + "116": "0x000000", + "117": "0x000000", + "118": "0x000000", + "119": "0x000000", + "120": "0x000000", + "121": "0x000000", + "122": "0x000000", + "123": "0x000000", + "124": "0x000000", + "125": "0x000000", + "126": "0x000000", + "127": "0x000000", + "128": "0x000000", + "129": "0x000000", + "130": "0x000000", + "131": "0x000000" + } + }], + "LEConfigs": [{ + "Keys": [1, 6, 0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }, { + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 35], + "Color": "0x1100ff", + "Type": 2, + "Count": 6, + "StayCount": 6 + }, { + "Keys": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 57], + "Color": "0xaeff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 84, 85, 86, 78, 80, 81, 82, 83, 87], + "Color": "0x00ff11", + "Type": 2, + "Count": 6, + "StayCount": 6 + }, { + "Keys": [88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 104, 106, 107, 108, 109, 89, 105, 103, 100, 101], + "Color": "0x00e1ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [110, 111, 112, 120, 121, 122, 124, 125, 126, 127, 128, 130, 129, 131, 123, 113, 114, 115, 117, 118, 119, 116], + "Color": "0xea00ff", + "Type": 2, + "Count": 6, + "StayCount": 6 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Green Light.le b/Build/Data/lighting/Green Light.le new file mode 100644 index 0000000..e450023 --- /dev/null +++ b/Build/Data/lighting/Green Light.le @@ -0,0 +1,148 @@ +{ + "GUID": "26C232E5-B89B-4b17-BF1D-75DC61351A93", + "Name": "全局绿光", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 110, 111, 112, 116, 120, 121, 122, 123, 124, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Green light respiration.le b/Build/Data/lighting/Green light respiration.le new file mode 100644 index 0000000..cd3b236 --- /dev/null +++ b/Build/Data/lighting/Green light respiration.le @@ -0,0 +1,149 @@ +{ + "GUID": "01BF5484-6303-486e-BD3F-2267B53C3926", + "Name": "全局绿光呼吸", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x00ff00", + "Type": 2, + "Count": 20, + "StayCount": 5 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/LOL.le b/Build/Data/lighting/LOL.le new file mode 100644 index 0000000..b62d6b0 --- /dev/null +++ b/Build/Data/lighting/LOL.le @@ -0,0 +1,43 @@ +{ + "GUID": "26D4E615-0A05-4208-8295-6E3C333FC98F", + "Name": "LOL", + "LeType": "simple", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "110": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [47, 45, 48, 46, 69, 70, 71], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }, { + "Keys": [0, 23, 24, 25, 26, 27, 28, 22, 44, 93, 94, 116, 112, 110], + "Color": "0xffff00", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Playerunknown's Battlegrounds.le b/Build/Data/lighting/Playerunknown's Battlegrounds.le new file mode 100644 index 0000000..baa6bc5 --- /dev/null +++ b/Build/Data/lighting/Playerunknown's Battlegrounds.le @@ -0,0 +1,47 @@ +{ + "GUID": "553A5737-BCB5-4814-BB16-36B7DFE4329E", + "Name": "大逃杀", + "LeType": "simple", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "88": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "96": "0xffffff", + "110": "0xffffff", + "112": "0xffffff", + "116": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [46, 68, 67, 69], + "Color": "0x00ff00", + "Type": 0, + "Count": 1 + }, { + "Keys": [45, 47, 49, 70, 90, 91, 92, 93, 88, 110, 112, 27, 116, 44, 94, 96, 23, 24, 25, 26, 48], + "Color": "0xff7700", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/RGB gradient.le b/Build/Data/lighting/RGB gradient.le new file mode 100644 index 0000000..acb1407 --- /dev/null +++ b/Build/Data/lighting/RGB gradient.le @@ -0,0 +1,148 @@ +{ + "GUID": "014D58A9-7E44-43c7-BA92-1063623B02DD", + "Name": "全局RGB渐变", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 60 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/RGB neon glow.le b/Build/Data/lighting/RGB neon glow.le new file mode 100644 index 0000000..d801095 --- /dev/null +++ b/Build/Data/lighting/RGB neon glow.le @@ -0,0 +1,440 @@ +{ + "GUID": "186CDCE3-FA12-41d9-9B6D-80F3CA47B360", + "Name": "霓彩色带", + "Frames": [{ + "Count": 2, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame2", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame3", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame4", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [110, 88, 112, 111, 67, 45, 68, 46, 90, 23, 24, 0, 44, 22, 66, 2, 89, 1], + "Color": "0xff0000", + "Type": 1, + "Count": 20 + }, { + "Keys": [3, 4, 5, 6, 7, 25, 26, 27, 28, 29, 47, 48, 49, 50, 51, 69, 70, 71, 72, 73, 91, 92, 93, 94, 95, 113, 114, 115, 116, 117], + "Color": "0xaeff00", + "Type": 1, + "Count": 20 + }, { + "Keys": [8, 9, 10, 11, 12, 30, 31, 32, 33, 34, 52, 53, 54, 55, 56, 74, 75, 76, 77, 78, 96, 97, 98, 99, 100, 118, 119, 120, 121, 122], + "Color": "0x00ff00", + "Type": 1, + "Count": 20 + }, { + "Keys": [13, 14, 15, 16, 17, 35, 36, 37, 38, 39, 57, 58, 59, 60, 61, 79, 80, 81, 82, 83, 101, 102, 103, 104, 105, 123, 124, 125, 126, 127], + "Color": "0x00bbff", + "Type": 1, + "Count": 20 + }, { + "Keys": [18, 19, 20, 21, 40, 41, 42, 43, 62, 63, 64, 65, 84, 85, 86, 87, 106, 107, 108, 109, 128, 129, 130, 131], + "Color": "0x6f00ff", + "Type": 1, + "Count": 20 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Rainbow wave.le b/Build/Data/lighting/Rainbow wave.le new file mode 100644 index 0000000..04c3d31 --- /dev/null +++ b/Build/Data/lighting/Rainbow wave.le @@ -0,0 +1,173 @@ +{ + "GUID": "B09FC694-4B0E-4fcb-83E7-8EB4A77E566A", + "Name": "全局彩虹波", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 100 + }, { + "Keys": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], + "Color": "0xff0055", + "Type": 1, + "Count": 100 + }, { + "Keys": [66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87], + "Color": "0xff00aa", + "Type": 1, + "Count": 100 + }, { + "Keys": [44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65], + "Color": "0xff00ff", + "Type": 1, + "Count": 100 + }, { + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], + "Color": "0xaa00ff", + "Type": 1, + "Count": 100 + }, { + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], + "Color": "0x5500ff", + "Type": 1, + "Count": 100 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Red Light.le b/Build/Data/lighting/Red Light.le new file mode 100644 index 0000000..55ab144 --- /dev/null +++ b/Build/Data/lighting/Red Light.le @@ -0,0 +1,148 @@ +{ + "GUID": "2BCE9E32-D806-46d0-A866-3ADAFAFDD7C1", + "Name": "全局红光", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 44, 45, 46, 47, 48, 49, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Red light respiration.le b/Build/Data/lighting/Red light respiration.le new file mode 100644 index 0000000..0351e8b --- /dev/null +++ b/Build/Data/lighting/Red light respiration.le @@ -0,0 +1,149 @@ +{ + "GUID": "6920D09F-C280-4e97-8734-0054FAD4D770", + "Name": "全局红光呼吸", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 2, + "Count": 20, + "StayCount": 5 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Sea Wave.le b/Build/Data/lighting/Sea Wave.le new file mode 100644 index 0000000..1d08c0e --- /dev/null +++ b/Build/Data/lighting/Sea Wave.le @@ -0,0 +1,451 @@ +{ + "GUID": "61B57825-DEBB-470d-B39A-258888529250", + "Name": "全局多彩瀑布", + "Frames": [{ + "Count": 2, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame2", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame3", + "Data": { + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame4", + "Data": { + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame5", + "Data": { + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame6", + "Data": { + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame7", + "Data": { + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame8", + "Data": {} + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 60 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Spectral cycle.le b/Build/Data/lighting/Spectral cycle.le new file mode 100644 index 0000000..cd2f7d3 --- /dev/null +++ b/Build/Data/lighting/Spectral cycle.le @@ -0,0 +1,253 @@ +{ + "GUID": "1B6DB72C-6093-43ac-B4BC-59670CA31696", + "Name": "全局光谱循环", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 22, 44, 66, 88, 110], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }, { + "Keys": [45, 67, 89, 111, 1, 23], + "Color": "0xff4000", + "Type": 1, + "Count": 30 + }, { + "Keys": [2, 24, 46, 68, 90, 112], + "Color": "0xff9900", + "Type": 1, + "Count": 30 + }, { + "Keys": [3, 25, 47, 69, 113, 91], + "Color": "0xffe500", + "Type": 1, + "Count": 30 + }, { + "Keys": [4, 26, 48, 70, 92, 114], + "Color": "0xccff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [5, 27, 49, 71, 93, 115], + "Color": "0x80ff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [28, 50, 72, 6, 94, 116], + "Color": "0x33ff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [7, 29, 51, 73, 95, 117], + "Color": "0x00ff19", + "Type": 1, + "Count": 30 + }, { + "Keys": [8, 30, 52, 74, 96, 118], + "Color": "0x00ff66", + "Type": 1, + "Count": 30 + }, { + "Keys": [9, 31, 53, 75, 97, 119], + "Color": "0x00ffb3", + "Type": 1, + "Count": 30 + }, { + "Keys": [10, 32, 54, 76, 98, 120], + "Color": "0x00ffff", + "Type": 1, + "Count": 30 + }, { + "Keys": [11, 33, 55, 77, 99, 121], + "Color": "0x00b2ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [12, 34, 56, 78, 100, 122], + "Color": "0x0066ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [13, 35, 57, 79, 101, 123], + "Color": "0x0019ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [14, 36, 58, 80, 102, 124], + "Color": "0x3300ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [15, 37, 59, 81, 103, 125], + "Color": "0x8000ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [16, 38, 60, 82, 104, 126], + "Color": "0xcc00ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [17, 39, 61, 83, 105, 127], + "Color": "0xff00e6", + "Type": 1, + "Count": 30 + }, { + "Keys": [18, 40, 62, 84, 106, 128], + "Color": "0xff0099", + "Type": 1, + "Count": 30 + }, { + "Keys": [19, 41, 63, 85, 107, 129], + "Color": "0xff004d", + "Type": 1, + "Count": 30 + }, { + "Keys": [20, 42, 64, 86, 108, 130], + "Color": "0xff3300", + "Type": 1, + "Count": 30 + }, { + "Keys": [21, 43, 65, 87, 109, 131], + "Color": "0xff7700", + "Type": 1, + "Count": 30 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Starlish.le b/Build/Data/lighting/Starlish.le new file mode 100644 index 0000000..933db72 --- /dev/null +++ b/Build/Data/lighting/Starlish.le @@ -0,0 +1,294 @@ +{ + "GUID": "908AA962-B0C8-4517-8E61-1E4C106CC4BA", + "Name": "星光闪耀", + "LeType": "simple", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Color": "0xff00ff", + "Count": 6, + "Keys": [5, 11, 114, 40, 63], + "Type": 1 + }, { + "Color": "0x0080ff", + "Count": 7, + "Keys": [108, 55, 111, 71, 70], + "Type": 1 + }, { + "Color": "0xff0055", + "Count": 8, + "Keys": [47, 17, 131, 48, 78], + "Type": 1 + }, { + "Color": "0x55ff00", + "Count": 9, + "Keys": [20, 30, 14, 35, 82], + "Type": 1 + }, { + "Color": "0x8000ff", + "Count": 10, + "Keys": [73, 130, 19, 86, 46], + "Type": 1 + }, { + "Color": "0xeb004e", + "Count": 11, + "Keys": [83, 76, 105, 58, 2], + "Type": 1 + }, { + "Color": "0x9900CC", + "Count": 12, + "Keys": [110, 21, 4, 49, 51], + "Type": 1 + }, { + "Color": "0x0080ff", + "Count": 13, + "Keys": [42, 98, 28, 12, 39], + "Type": 1 + }, { + "Color": "0x00ffaa", + "Count": 14, + "Keys": [121, 13, 68, 107, 50], + "Type": 1 + }, { + "Color": "0x999900", + "Count": 15, + "Keys": [122, 59, 117, 100, 99], + "Type": 1 + }, { + "Color": "0x00ff3c", + "Count": 16, + "Keys": [61, 102, 96, 75, 109], + "Type": 1 + }, { + "Color": "0xff0099", + "Count": 17, + "Keys": [84, 16, 60, 10, 74], + "Type": 1 + }, { + "Color": "0xba0dff", + "Count": 18, + "Keys": [77, 1, 15, 89], + "Type": 1 + }, { + "Color": "0x0000FF", + "Count": 19, + "Keys": [45, 123, 25, 97], + "Type": 1 + }, { + "Color": "0x00ff00", + "Count": 20, + "Keys": [94, 36, 31, 128], + "Type": 1 + }, { + "Color": "0xb300b3", + "Count": 21, + "Keys": [57, 104, 54, 81], + "Type": 1 + }, { + "Color": "0xcf4500", + "Count": 22, + "Keys": [44, 41, 126, 6], + "Type": 1 + }, { + "Color": "0x0000e0", + "Count": 23, + "Keys": [90, null, 119, 7, 115], + "Type": 1 + }, { + "Color": "0x990000", + "Count": 24, + "Keys": [9, 65, 56, 43], + "Type": 1 + }, { + "Color": "0xFF3399", + "Count": 25, + "Keys": [101, 72, 62, 66], + "Type": 1 + }, { + "Color": "0x0000f0", + "Count": 26, + "Keys": [93, 124, 22, 53], + "Type": 1 + }, { + "Color": "0x0066FF", + "Count": 27, + "Keys": [106, 125, 3, 24], + "Type": 1 + }, { + "Color": "0x00ff80", + "Count": 28, + "Keys": [127, 113, 80, 91], + "Type": 1 + }, { + "Color": "0x00b53c", + "Count": 29, + "Keys": [129, 87, 88, 79], + "Type": 1 + }, { + "Color": "0x99cc00", + "Count": 30, + "Keys": [85, 64, 116, 27], + "Type": 1 + }, { + "Color": "0x00ff09", + "Count": 40, + "Keys": [118, 8, 0, 112], + "Type": 1 + }, { + "Color": "0xb6f200", + "Count": 50, + "Keys": [26, 33, 92, 32], + "Type": 1 + }, { + "Color": "0x0000ad", + "Count": 10, + "Keys": [95, 29, 52, 67], + "Type": 1 + }, { + "Color": "0xf50052", + "Count": 10, + "Keys": [120, 34, 103, 37], + "Type": 1 + }, { + "Color": "0x00cc99", + "Count": 10, + "Keys": [38, 23, null, 69, 18], + "Type": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Stream never stops flowing.le b/Build/Data/lighting/Stream never stops flowing.le new file mode 100644 index 0000000..0f22542 --- /dev/null +++ b/Build/Data/lighting/Stream never stops flowing.le @@ -0,0 +1,3139 @@ +{ + "GUID": "9A5905BC-25AE-46a2-AAF0-25B13BC2BF3B", + "Name": "全局川流不息", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame2", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame3", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame4", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame6", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame7", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame8", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame9", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame10", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame11", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame12", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame13", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame14", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame15", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame16", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame17", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame18", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame19", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame20", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame21", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame22", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame23", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame24", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame25", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame26", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame27", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame28", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame29", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame30", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame31", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame32", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame33", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame34", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame35", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame36", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame37", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame38", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame39", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame40", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame41", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame42", + "Data": { + "21": "0xffffff", + "22": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "109": "0xffffff", + "110": "0xffffff" + } + }, { + "Count": 2, + "Name": "frame43", + "Data": {} + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], + "Color": "0xff0000", + "Type": 1, + "Count": 10 + }, { + "Keys": [110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], + "Color": "0x0000ff", + "Type": 1, + "Count": 10 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Two poles.le b/Build/Data/lighting/Two poles.le new file mode 100644 index 0000000..f37e143 --- /dev/null +++ b/Build/Data/lighting/Two poles.le @@ -0,0 +1,1713 @@ +{ + "GUID": "71FFEFF4-BB1C-4d13-8FB3-9598C757458E", + "Name": "两极", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame2", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame3", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame4", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame6", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame7", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame8", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame9", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame10", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame11", + "Data": {} + }, { + "Count": 1, + "Name": "frame12", + "Data": { + "0": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame13", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame14", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame15", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame16", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame17", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame18", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame19", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame20", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame21", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame22", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame23", + "Data": {} + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xff0000", + "Type": 1, + "Count": 60 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Violet Light.le b/Build/Data/lighting/Violet Light.le new file mode 100644 index 0000000..7b26e8d --- /dev/null +++ b/Build/Data/lighting/Violet Light.le @@ -0,0 +1,148 @@ +{ + "GUID": "7D765D1C-64FD-4033-90EA-1556502AA9B5", + "Name": "全局紫光", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0x8c00ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Walking in the Waves.le b/Build/Data/lighting/Walking in the Waves.le new file mode 100644 index 0000000..c653a24 --- /dev/null +++ b/Build/Data/lighting/Walking in the Waves.le @@ -0,0 +1,1022 @@ +{ + "GUID": "B0239EDC-6B9B-44e4-B2B5-BC0C2297B9C6", + "Name": "踏浪", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "22": "0xffffff", + "44": "0xffffff", + "66": "0xffffff", + "88": "0xffffff", + "110": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame1", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "110": "0xffffff", + "111": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame2", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame3", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame4", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame5", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame6", + "Data": { + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame7", + "Data": { + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame8", + "Data": { + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame9", + "Data": { + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame10", + "Data": { + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame11", + "Data": { + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame12", + "Data": { + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame13", + "Data": { + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame14", + "Data": { + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame15", + "Data": { + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame16", + "Data": { + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame17", + "Data": { + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame18", + "Data": { + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame19", + "Data": { + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame20", + "Data": { + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame21", + "Data": { + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame22", + "Data": { + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame23", + "Data": { + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame24", + "Data": { + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame25", + "Data": { + "20": "0xffffff", + "21": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame26", + "Data": { + "21": "0xffffff", + "43": "0xffffff", + "65": "0xffffff", + "87": "0xffffff", + "109": "0xffffff", + "131": "0xffffff" + } + }, { + "Count": 1, + "Name": "frame27", + "Data": {} + }], + "LEConfigs": [{ + "Keys": [110, 88, 0, 44, 22, 66, 17, 39, 61, 83, 105, 127], + "Color": "0xff0000", + "Type": 1, + "Count": 30 + }, { + "Keys": [111, 67, 45, 89, 1, 23, 18, 40, 62, 84, 106, 128], + "Color": "0x33ff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [2, 24, 46, 68, 90, 112, 19, 41, 63, 85, 107, 129], + "Color": "0x0091ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [3, 25, 47, 69, 91, 113, 20, 42, 64, 86, 108, 130], + "Color": "0x8c00ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [4, 26, 48, 70, 92, 114, 21, 43, 65, 87, 109, 131], + "Color": "0xd9ff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [5, 27, 49, 71, 93, 115], + "Color": "0x00ffea", + "Type": 1, + "Count": 30 + }, { + "Keys": [6, 28, 50, 72, 94, 116], + "Color": "0x0dff00", + "Type": 1, + "Count": 30 + }, { + "Keys": [7, 29, 51, 73, 95, 117], + "Color": "0xff00d9", + "Type": 1, + "Count": 30 + }, { + "Keys": [8, 30, 52, 74, 96, 118], + "Color": "0xff9900", + "Type": 1, + "Count": 30 + }, { + "Keys": [9, 31, 53, 75, 97, 119], + "Color": "0x2600ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [10, 32, 54, 76, 98, 120], + "Color": "0xff5900", + "Type": 1, + "Count": 30 + }, { + "Keys": [11, 33, 55, 77, 99, 121], + "Color": "0x00e1ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [12, 34, 56, 78, 100, 122], + "Color": "0xff007b", + "Type": 1, + "Count": 30 + }, { + "Keys": [13, 35, 57, 79, 101, 123], + "Color": "0x00ff44", + "Type": 1, + "Count": 30 + }, { + "Keys": [14, 36, 58, 80, 102, 124], + "Color": "0xff3c00", + "Type": 1, + "Count": 30 + }, { + "Keys": [15, 37, 59, 81, 103, 125], + "Color": "0x00f7ff", + "Type": 1, + "Count": 30 + }, { + "Keys": [16, 38, 60, 82, 104, 126], + "Color": "0x6600ff", + "Type": 1, + "Count": 30 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/White Light.le b/Build/Data/lighting/White Light.le new file mode 100644 index 0000000..2cb03df --- /dev/null +++ b/Build/Data/lighting/White Light.le @@ -0,0 +1,148 @@ +{ + "GUID": "A606CEF7-17C9-4849-BC2A-CFADD27AF02E", + "Name": "全局白光", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 110, 111, 112, 116, 120, 121, 122, 123, 124, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xffffff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/White light respiration.le b/Build/Data/lighting/White light respiration.le new file mode 100644 index 0000000..38ba298 --- /dev/null +++ b/Build/Data/lighting/White light respiration.le @@ -0,0 +1,149 @@ +{ + "GUID": "96D9DB51-DC2A-4f26-B7F1-CC03C087D0EA", + "Name": "全局白光呼吸", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131], + "Color": "0xffffff", + "Type": 2, + "Count": 20, + "StayCount": 5 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/Windmill.le b/Build/Data/lighting/Windmill.le new file mode 100644 index 0000000..5ccf261 --- /dev/null +++ b/Build/Data/lighting/Windmill.le @@ -0,0 +1,198 @@ +{ + "GUID": "7E8488C3-EB93-46a8-B505-F9E95FD67322", + "Name": "全局风车", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "0": "0xffffff", + "1": "0xffffff", + "2": "0xffffff", + "3": "0xffffff", + "4": "0xffffff", + "5": "0xffffff", + "6": "0xffffff", + "7": "0xffffff", + "8": "0xffffff", + "9": "0xffffff", + "10": "0xffffff", + "11": "0xffffff", + "12": "0xffffff", + "13": "0xffffff", + "14": "0xffffff", + "15": "0xffffff", + "16": "0xffffff", + "17": "0xffffff", + "18": "0xffffff", + "19": "0xffffff", + "20": "0xffffff", + "21": "0xffffff", + "22": "0xffffff", + "23": "0xffffff", + "24": "0xffffff", + "25": "0xffffff", + "26": "0xffffff", + "27": "0xffffff", + "28": "0xffffff", + "29": "0xffffff", + "30": "0xffffff", + "31": "0xffffff", + "32": "0xffffff", + "33": "0xffffff", + "34": "0xffffff", + "35": "0xffffff", + "36": "0xffffff", + "37": "0xffffff", + "38": "0xffffff", + "39": "0xffffff", + "40": "0xffffff", + "41": "0xffffff", + "42": "0xffffff", + "43": "0xffffff", + "44": "0xffffff", + "45": "0xffffff", + "46": "0xffffff", + "47": "0xffffff", + "48": "0xffffff", + "49": "0xffffff", + "50": "0xffffff", + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "54": "0xffffff", + "55": "0xffffff", + "56": "0xffffff", + "57": "0xffffff", + "58": "0xffffff", + "59": "0xffffff", + "60": "0xffffff", + "61": "0xffffff", + "62": "0xffffff", + "63": "0xffffff", + "64": "0xffffff", + "65": "0xffffff", + "66": "0xffffff", + "67": "0xffffff", + "68": "0xffffff", + "69": "0xffffff", + "70": "0xffffff", + "71": "0xffffff", + "72": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "76": "0xffffff", + "77": "0xffffff", + "78": "0xffffff", + "79": "0xffffff", + "80": "0xffffff", + "81": "0xffffff", + "82": "0xffffff", + "83": "0xffffff", + "84": "0xffffff", + "85": "0xffffff", + "86": "0xffffff", + "87": "0xffffff", + "88": "0xffffff", + "89": "0xffffff", + "90": "0xffffff", + "91": "0xffffff", + "92": "0xffffff", + "93": "0xffffff", + "94": "0xffffff", + "95": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff", + "99": "0xffffff", + "100": "0xffffff", + "101": "0xffffff", + "102": "0xffffff", + "103": "0xffffff", + "104": "0xffffff", + "105": "0xffffff", + "106": "0xffffff", + "107": "0xffffff", + "108": "0xffffff", + "109": "0xffffff", + "110": "0xffffff", + "111": "0xffffff", + "112": "0xffffff", + "113": "0xffffff", + "114": "0xffffff", + "115": "0xffffff", + "116": "0xffffff", + "117": "0xffffff", + "118": "0xffffff", + "119": "0xffffff", + "120": "0xffffff", + "121": "0xffffff", + "122": "0xffffff", + "123": "0xffffff", + "124": "0xffffff", + "125": "0xffffff", + "126": "0xffffff", + "127": "0xffffff", + "128": "0xffffff", + "129": "0xffffff", + "130": "0xffffff", + "131": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [70, 91, 111, 69, 90, 88, 110, 68, 49, 89, 127], + "Color": "0xff0000", + "Type": 1, + "Count": 60 + }, { + "Keys": [67, 66, 47, 45, 44, 46, 48, 49, 22, 23, 105, 83, 61], + "Color": "0xff0099", + "Type": 1, + "Count": 60 + }, { + "Keys": [0, 24, 25, 2, 3, 26, 4, 27, 50, 5, 28, 1], + "Color": "0xcc00ff", + "Type": 1, + "Count": 60 + }, { + "Keys": [29, 8, 30, 9, 10, 31, 7, 6], + "Color": "0x3300ff", + "Type": 1, + "Count": 60 + }, { + "Keys": [51, 32, 11, 12, 33, 34, 13, 14, 15, 52, 16, 17, 18, 19], + "Color": "0x0066ff", + "Type": 1, + "Count": 60 + }, { + "Keys": [53, 54, 55, 56, 58, 36, 59, 37, 38, 39, 60, 40, 41, 42, 43, 62, 63, 64, 52, 20, 21, 57, 35, 61], + "Color": "0x00ffff", + "Type": 1, + "Count": 60 + }, { + "Keys": [75, 76, 77, 79, 84, 85, 86, 65, 109, 81, 82, 78, 80, 83, 87], + "Color": "0x00ff66", + "Type": 1, + "Count": 60 + }, { + "Keys": [99, 102, 104, 106, 107, 108, 130, 128, 126, 125, 75, 100, 101, 103, 105, 109, 131, 129, 127], + "Color": "0x33ff00", + "Type": 1, + "Count": 60 + }, { + "Keys": [124, 122, 121, 120, 98, 97, 74, 123], + "Color": "0xccff00", + "Type": 1, + "Count": 60 + }, { + "Keys": [96, 73, 72, 95, 119, 118, 117], + "Color": "0xff9900", + "Type": 1, + "Count": 60 + }, { + "Keys": [116, 94, 71, 70, 93, 92, 112, 113, 115, 114], + "Color": "0xff0000", + "Type": 1, + "Count": 60 + }] +} \ No newline at end of file diff --git a/Build/Data/lighting/function 9keys.le b/Build/Data/lighting/function 9keys.le new file mode 100644 index 0000000..5976163 --- /dev/null +++ b/Build/Data/lighting/function 9keys.le @@ -0,0 +1,25 @@ +{ + "GUID": "64D11D2A-B45D-46b5-87A3-49EE65A5F528", + "Name": "功能9键", + "Frames": [{ + "Count": 1, + "Name": "frame0", + "Data": { + "51": "0xffffff", + "52": "0xffffff", + "53": "0xffffff", + "73": "0xffffff", + "74": "0xffffff", + "75": "0xffffff", + "96": "0xffffff", + "97": "0xffffff", + "98": "0xffffff" + } + }], + "LEConfigs": [{ + "Keys": [51, 52, 53, 74, 75, 73, 96, 97, 98], + "Color": "0xff00ff", + "Type": 0, + "Count": 1 + }] +} \ No newline at end of file diff --git a/Build/GK6X.exe b/Build/GK6X.exe new file mode 100644 index 0000000000000000000000000000000000000000..a63598575def86831484f21ce8b29986d8ab2ce8 GIT binary patch literal 98816 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 K?)U$W1HT38)5sYB literal 0 HcmV?d00001 diff --git a/Build/HidSharp.dll b/Build/HidSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..895c318a86f0f99d0fef61da2cfe0fc51068002d GIT binary patch literal 242608 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 literal 0 HcmV?d00001 diff --git a/Build/HidSharp.xml b/Build/HidSharp.xml new file mode 100644 index 0000000..5fa7535 --- /dev/null +++ b/Build/HidSharp.xml @@ -0,0 +1,1207 @@ + + + + HidSharp + + + + + Represents a USB HID class device. + + + + + Makes a connection to the device, or throws an exception if the connection cannot be made. + + The stream to use to communicate with the device. + + + + Tries to make a connection to the device. + + The stream to use to communicate with the device. + true if the connection was successful. + + + + Returns the file system path of the device. + This can be used to check permissions on Linux hidraw, for instance. + + The file system path. + + + + Returns a name appropriate for display. + + The friendly name. + + + + Checks if a particular implementation detail, such as the use of the Linux hidraw API, applies to this device. + See for a list of possible details. + + The detail to check. + true if the implementation detail applies. + + + + The operating system's name for the device. + + If you have multiple devices with the same Vendor ID, Product ID, Serial Number, etc., + this may be useful for differentiating them. + + + + + + + + + + + + + + Returns the manufacturer name. + + + + + Returns the product name. + + + + + Returns the device serial number. + + + + + Returns the maximum input report length, including the Report ID byte. + If the device does not use Report IDs, the first byte will always be 0. + + + + + Returns the maximum output report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Returns the maximum feature report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Retrieves and parses the report descriptor of the USB device. + + The parsed report descriptor. + + + + Returns the raw report descriptor of the USB device. + + The raw report descriptor. + + + + Returns the serial ports of the composite USB device. + Currently this is only supported on Windows. + + Serial ports of the USB device. + + + + + + + + + + + + + The USB product ID. These are listed at: http://usb-ids.gowdy.us + + + + + The device release number. + + + + + The device release number, in binary-coded decimal. + + + + + + + + The USB vendor ID. These are listed at: http://usb-ids.gowdy.us + + + + + + + + + + + + + + + + + + + + + + + Represents a serial device. + + + + + + + + + + + + + + + + + + + + + + + Communicates with a serial device. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Occurs when the stream is closed. + + + + + Occurs when is true and another process or thread with higher priority + would like to open the stream. + + + + + + + + + + + + + + + + + Gets the associated with this stream. + + + + + + + + + + + The maximum amount of time, in milliseconds, to wait for the device to send some data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + The maximum amount of time, in milliseconds, to wait for the device to receive the data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + An object storing user-defined data about the stream. + + + + + + + + Gets the associated with this stream. + + + + + Communicates with a USB HID class device. + + + + + + + + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the first byte. + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the byte at index . + The index in the buffer to begin filling with data. + The number of bytes in the feature request. + + + + Reads HID Input Reports. + + The data read. + + + + Reads HID Input Reports. + + The buffer to place the reports into. + The number of bytes read. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the first byte. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the byte at index . + The index in the buffer to start the write from. + The number of bytes in the feature request. + + + + Writes an HID Output Report to the device. + + The buffer containing the report. Place the Report ID in the first byte. + + + + Gets the associated with this stream. + + + + + Defines the possible units of mass. + + + + + The unit system has no unit of mass. + + + + + The unit of mass is the gram (occurs in the SI Linear and Rotation unit systems). + + + + + The unit of mass is the slug (occurs in the English Linear and Rotation unit systems). + + + + + Describes the units of a report value. + + + + + Initializes a new instance of the class. + + The raw HID value describing the units. + + + + Decodes an encoded HID unit exponent. + + The encoded exponent. + The exponent. + + + + Encodes an exponent in HID unit form. + + The exponent. + The encoded exponent. + + + + Gets or sets the unit system. + + + + + Gets or sets the exponent of the report value's units of length. + + + + + Gets the units of length corresponding to . + + + + + Gets or sets the exponent of the report value's units of mass. + + + + + Gets the units of mass corresponding to . + + + + + Gets or sets the exponent of the report value's units of time. + + + + + Gets the units of time corresponding to . + + + + + Gets or sets the exponent of the report value's units of temperature. + + + + + Gets the units of temperature corresponding to . + + + + + Gets or sets the exponent of the report value's units of current. + + + + + Gets the units of current corresponding to . + + + + + Gets or sets the exponent of the report value's units of luminous intensity. + + + + + Gets the units of luminous intensity corresponding to . + + + + + Gets or sets the raw HID value describing the units. + + + + + Represents a Bluetooth Low Energy device. + + + + + + + + + + + Defines the possible units of luminous intensity. + + + + + The unit system has no unit of luminous intensity. + + + + + The unit of luminous intensity is the candela. + + + + + Describes the manner in which an item affects the descriptor. + + + + + Main items determine the report being described. + For example, a main item switches between Input and Output reports. + + + + + Global items affect all reports later in the descriptor. + + + + + Local items only affect the current report. + + + + + Long items use this type. + + + + + Level-triggered. A momentary button. 0 indicates not pressed, 1 indicates pressed. + + + + + Level-triggered. Toggle buttons maintain their state. 0 indicates not pressed, 1 indicates pressed. + + + + + Edge-triggered. A 0-to-1 transition should activate the one-shot function. + + + + + Edge-triggered. Each report of -1 goes down. Each report of 1 goes up. + + + + + Parses a received report. + + The buffer to read the report from. + The offset to begin reading the report at. + the buffer conforms to. + true if the report is for this . + + + + The number of unique values in the . + + + + + Creates a appropriate for parsing reports for this device item. + + The new . + + Pair this with a for the . + + + + + Describes all options for opening a device stream. + + + + + Initializes a new instance of the class. + + + + + Gets the current value of an option. + + The option. + The option's value. + + + + Gets a list of all currently set options. + + The options list. + + + + Checks if an option has been set. + + The option. + true if the option has been set. + + + + Sets the current value of an option. + + The option. + The value to set it to. + + + + Options for opening a device stream. + + + + + Use HIDSharp's exclusivity layer. + This allows one process using HIDSharp to lock other processes out of using a HID device. + Processes may request interruption, allowing interprocess cooperation. + (For example, a data logging application can make itself interruptible and allow another process to use the HID device temporarily.) + + Defaults to false. + + + + + Allow other processes to send interruption requests. + If another other process with higher priority attempts to open the HID device this process is using, + this process will receive an event on an arbitrary thread. + + must be true for this to work. + Defaults to false. + + + + + The priority of the process. This is used for interruption requests. + must be true for this to work. + Defaults to . + + + + + The amount of time to wait for an interruptible process to give up the HID device before failing to open the stream. + Defaults to 3000 milliseconds. + + + + + The amount of time to wait for a transient process to give up the HID device before failing to open the stream. + Defaults to 30000 milliseconds. + + + + + If a HID device is opened by another process transiently, HIDSharp will wait some time for the process to give up the HID device before failing to open the stream. + + must be true for this to work. + Defaults to false. + + + + + Parses HID report descriptors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, and parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Creates an appropriate + for receiving reports from this device. + + The new . + + Pair this with a for your chosen . + + + + + Resets the parser to its initial state. + + + + + Updates derived data. + + + + + Parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Parses all of the elements in a report descriptor. + + The items to parse. + + + + Parses a single . + Call this repeatedly for every item to completely decode a report descriptor. + + The item to parse. + + + + The maximum input report length. + The Report ID is included in this length. + + + + + The maximum output report length. + The Report ID is included in this length. + + + + + The maximum feature report length. + The Report ID is included in this length. + + + + + True if the device sends Report IDs. + + + + + Each physical HID device exposes a number of collections corresponding to logical devices. + For a simple joystick, gamepad, etc. there will typically be one . Dual gamepad adapters will have two. + Keyboards often have one for their keys and at least one for their volume and media controls. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + An integer identifying the error that has occurred. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Gets the associated with the exception, if any. + + The exception to get the associated for. + The associated , or null if none is associated with it. + + + + Defines the possible units of time. + + + + + The unit system has no unit of time. + + + + + The unit of time is seconds. + + + + + Specifies the 's low-level implementation. + + + + + The device is running on Windows. + + + + + The device is running on a Mac. + + + + + The device is running on Linux. + + + + + The device is a Bluetooth Low Energy device. + + + + + The device is a HID device. + + + + + The device is a serial device. + + + + + The device is implemented using the Linux hidraw API. + + + + + Defines the possible units of length. + + + + + The unit system has no unit of length. + + + + + The unit of length is the centimeter (occurs in the SI Linear unit system). + + + + + The unit of length is the radian (occurs in the SI Rotation unit system). + + + + + The unit of length is the inch (occurs in the English Linear unit system). + + + + + The unit of length is the degree (occurs in the English Rotation unit system). + + + + + Defines the possible units of current. + + + + + The unit system has no unit of current. + + + + + The unit of current is the Ampere. + + + + + Provides a list of all available devices. + + + + + Initializes a new instance of the class. + + + + + Gets a list of all connected BLE devices. + + The device list. + + + + Gets a list of all connected HID devices. + + The device list. + + + + Gets a list of connected HID devices, filtered by some criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The filtered device list. + + + + Gets a list of all connected serial devices. + + The device list. + + + + Gets a list of all connected HID, BLE, and serial devices. + + The device list. + + + + Gets a list of connected devices, filtered by some criteria. + + The filter criteria. + The filtered device list. + + + + Gets the first connected HID device that matches specified criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The device, or null if none was found. + + + + Gets the connected serial device with the specific device path or filesystem name. + + The device path or filesystem name. + The device, or null if none was found. + + + + Raises the event. + + + + + + + + Occurs when a device is connected or disconnected. + + + + + true if drivers are presently being installed. + + + + + The list of devices on this computer. + + + + + + + + + + + Defines the possible unit systems. + + + + + No units are used. + + + + + The SI Linear unit system uses centimeters for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The SI Rotation unit system uses radians for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Linear unit system uses inches for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Rotation unit system uses degrees for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + No flags are set. + + + + + Constant values cannot be changed. + + + + + Each variable field corresponds to a particular value. + The alternative is an array, where each field specifies an index. + For example, with eight buttons, a variable field would have eight bits. + An array would have an index of which button is pressed. + + + + + Mouse motion is in relative coordinates. + Most sensors -- joysticks, accelerometers, etc. -- output absolute coordinates. + + + + + The value wraps around in a continuous manner. + + + + + Starts the receiver. It will continue until the stream is closed or the device is disconnected. + Be sure to call to read HID reports as they come in. + + The stream to receive on. + + + + Checks for pending HID reports. + + The buffer to write the report to. + The offset to begin writing the report at. + The the buffer conforms to. + true if there was a pending report. + + + + true if the receiver is running. + false if the receiver has stopped, or has not yet been started. + + + + + + The stream associated with this receiver. + + + + + + This will be signaled any time there is data, or when the receiver has stopped due to stream closure or device disconnect. + To clear the signal, call until there is no more data. + If the receiver has stopped, the signal cannot be cleared. + + + + + Defines the possible units of temperature. + + + + + The unit system has no unit of temperature. + + + + + The unit of temperature is Kelvin (occurs in SI Linear and Rotation unit systems). + + + + + The unit of temperature is Fahrenheit (occurs in English Linear and Rotation unit systems). + + + + + See http://www.usb.org/developers/hidpage for additional HID Usage Tables. + + + + + + + + Gets the associated with this stream. + + + + + Gets the associated with this stream. + + + + + Converts USB device release numbers to and from binary-coded decimal. + + + + + Converts a USB device release number to binary-coded decimal. + + The device release number. + The device release number, in binary-coded decimal. + + + + Converts a USB device release number from binary-coded decimal. + + The device release number, in binary-coded decimal. + The device release number. + + + + The priority at which to open a device stream. + + + + + The lowest priority. + + + + + Very low priority. + + + + + Low priority. + + + + + The default priority. + + + + + High priority. + + + + + The highest priority. + + + + + Reads and writes HID reports. + + + + + Initializes a new instance of the class. + + + + + Reads a HID report, calling back a provided function for each data item. + + The buffer containing the report. + The offset to begin reading the report at. + + This callback will be called for each data item. + Use this to read every value you need. + + + + + Writes a HID report, calling back a provided function for each data item. + + + This callback will be called for each report data item. + Write to each data item to write a complete HID report. + + + + + The length of this particular report. + The Report ID is included in this length. + + + + + The Report ID. + + + + diff --git a/Build/KbLog.txt b/Build/KbLog.txt new file mode 100644 index 0000000..e32dd92 --- /dev/null +++ b/Build/KbLog.txt @@ -0,0 +1,190 @@ +[17:47:15.1076843] Connected to device 'OK-114 GK84 RGB BTH+USB' model:655491200 fw:v1.16 +[17:47:19.2104915] Done +[17:49:38.4886000] Done +[17:50:24.1726806] Connected to device 'OK-114 GK84 RGB BTH+USB' model:655491200 fw:v1.16 +[17:50:24.9058818] Failed to load lighting effect 'Layer3' +[17:50:26.9494854] Done +[17:53:49.8712248] Connected to device 'OK-114 GK84 RGB BTH+USB' model:655491200 fw:v1.16 +[17:53:53.3656309] ====== 655491200 ====== +[17:53:53.3656309] Escape = Esc (0) +[17:53:53.3656309] F1 = F1 (2) +[17:53:53.3656309] F2 = F2 (3) +[17:53:53.3656309] F3 = F3 (4) +[17:53:53.3656309] F4 = F4 (5) +[17:53:53.3656309] F5 = F5 (6) +[17:53:53.3656309] F6 = F6 (7) +[17:53:53.3656309] F7 = F7 (8) +[17:53:53.3656309] F8 = F8 (9) +[17:53:53.3656309] F9 = F9 (10) +[17:53:53.3656309] F10 = F10 (11) +[17:53:53.3656309] F11 = F11 (12) +[17:53:53.3656309] F12 = F12 (13) +[17:53:53.3656309] Print Screen = Screenshot (14) +[17:53:53.3656309] Scroll Lock = ScrollLock (15) +[17:53:53.3656309] Pause = Pause (16) +[17:53:53.3656309] -------- +[17:53:53.3656309] ` = BackTick (22) +[17:53:53.3656309] 1 = D1 (24) +[17:53:53.3656309] 2 = D2 (25) +[17:53:53.3656309] 3 = D3 (26) +[17:53:53.3656309] 4 = D4 (27) +[17:53:53.3656309] 5 = D5 (28) +[17:53:53.3812310] 6 = D6 (29) +[17:53:53.3812310] 7 = D7 (30) +[17:53:53.3812310] 8 = D8 (31) +[17:53:53.3812310] 9 = D9 (32) +[17:53:53.3812310] 0 = D0 (33) +[17:53:53.3812310] - = Subtract (34) +[17:53:53.3812310] = = Add (35) +[17:53:53.3812310] Backspace = Backspace (36) +[17:53:53.3812310] Home = Home (38) +[17:53:53.3812310] -------- +[17:53:53.3812310] Tab = Tab (44) +[17:53:53.3812310] Q = Q (46) +[17:53:53.3812310] W = W (47) +[17:53:53.3812310] E = E (48) +[17:53:53.3812310] R = R (49) +[17:53:53.3812310] T = T (50) +[17:53:53.3968310] Y = Y (51) +[17:53:53.3968310] U = U (52) +[17:53:53.3968310] I = I (53) +[17:53:53.3968310] O = O (54) +[17:53:53.3968310] P = P (55) +[17:53:53.3968310] [ = OpenSquareBrace (56) +[17:53:53.3968310] ] = CloseSquareBrace (57) +[17:53:53.3968310] | = Backslash (58) +[17:53:53.3968310] Page Up = PageUp (60) +[17:53:53.3968310] -------- +[17:53:53.3968310] Caps Lock = CapsLock (66) +[17:53:53.3968310] A = A (68) +[17:53:53.3968310] S = S (69) +[17:53:53.3968310] D = D (70) +[17:53:53.3968310] F = F (71) +[17:53:53.4124310] G = G (72) +[17:53:53.4124310] H = H (73) +[17:53:53.4124310] J = J (74) +[17:53:53.4124310] K = K (75) +[17:53:53.4124310] L = L (76) +[17:53:53.4124310] ; = Semicolon (77) +[17:53:53.4124310] ' = Quotes (78) +[17:53:53.4124310] Return = Enter (80) +[17:53:53.4124310] Page Down = PageDown (82) +[17:53:53.4124310] -------- +[17:53:53.4124310] Left Shift = LShift (88) +[17:53:53.4124310] Z = Z (90) +[17:53:53.4124310] X = X (91) +[17:53:53.4124310] C = C (92) +[17:53:53.4124310] V = V (93) +[17:53:53.4124310] B = B (94) +[17:53:53.4280310] N = N (95) +[17:53:53.4280310] M = M (96) +[17:53:53.4280310] , = Comma (97) +[17:53:53.4280310] . = Period (98) +[17:53:53.4280310] / = Slash (99) +[17:53:53.4280310] Right Shift = RShift (101) +[17:53:53.4280310] Up Arrow = Up (103) +[17:53:53.4280310] End = End (104) +[17:53:53.4280310] -------- +[17:53:53.4280310] Left Control = LCtrl (110) +[17:53:53.4280310] Left GUI = LWin (111) +[17:53:53.4280310] Left Alt = LAlt (112) +[17:53:53.4280310] Space = Space (116) +[17:53:53.4280310] Right Alt = RAlt (120) +[17:53:53.4280310] Fn = 4294967295 (121) +[17:53:53.4280310] Right Control = RCtrl (122) +[17:53:53.4436311] Left Arrow = Left (124) +[17:53:53.4436311] Down Arrow = Down (125) +[17:53:53.4436311] Right Arrow = Right (126) +[17:53:53.4436311] -------- +[17:54:15.5076483] Connected to device 'OK-114 GK84 RGB BTH+USB' model:655491200 fw:v1.16 +[17:54:23.5346707] ====== 655491200 ====== +[17:54:23.5366708] Escape = Esc (0) +[17:54:23.5366708] F1 = F1 (2) +[17:54:23.5366708] F2 = F2 (3) +[17:54:23.5376708] F3 = F3 (4) +[17:54:23.5376708] F4 = F4 (5) +[17:54:23.5376708] F5 = F5 (6) +[17:54:23.5386709] F6 = F6 (7) +[17:54:23.5386709] F7 = F7 (8) +[17:54:23.5386709] F8 = F8 (9) +[17:54:23.5396709] F9 = F9 (10) +[17:54:23.5396709] F10 = F10 (11) +[17:54:23.5396709] F11 = F11 (12) +[17:54:23.5406710] F12 = F12 (13) +[17:54:23.5406710] Print Screen = Screenshot (14) +[17:54:23.5406710] Scroll Lock = ScrollLock (15) +[17:54:23.5406710] Pause = Pause (16) +[17:54:23.5416711] -------- +[17:54:23.5416711] ` = BackTick (22) +[17:54:23.5416711] 1 = D1 (24) +[17:54:23.5426711] 2 = D2 (25) +[17:54:23.5426711] 3 = D3 (26) +[17:54:23.5426711] 4 = D4 (27) +[17:54:23.5436712] 5 = D5 (28) +[17:54:23.5436712] 6 = D6 (29) +[17:54:23.5446712] 7 = D7 (30) +[17:54:23.5456713] 8 = D8 (31) +[17:54:23.5456713] 9 = D9 (32) +[17:54:23.5466713] 0 = D0 (33) +[17:54:23.5466713] - = Subtract (34) +[17:54:23.5476714] = = Add (35) +[17:54:23.5476714] Backspace = Backspace (36) +[17:54:23.5486715] Home = Home (38) +[17:54:23.5486715] -------- +[17:54:23.5496715] Tab = Tab (44) +[17:54:23.5496715] Q = Q (46) +[17:54:23.5506716] W = W (47) +[17:54:23.5506716] E = E (48) +[17:54:23.5506716] R = R (49) +[17:54:23.5516716] T = T (50) +[17:54:23.5516716] Y = Y (51) +[17:54:23.5526717] U = U (52) +[17:54:23.5526717] I = I (53) +[17:54:23.5536717] O = O (54) +[17:54:23.5536717] P = P (55) +[17:54:23.5546718] [ = OpenSquareBrace (56) +[17:54:23.5546718] ] = CloseSquareBrace (57) +[17:54:23.5556719] | = Backslash (58) +[17:54:23.5566719] Page Up = PageUp (60) +[17:54:23.5566719] -------- +[17:54:23.5566719] Caps Lock = CapsLock (66) +[17:54:23.5576720] A = A (68) +[17:54:23.5576720] S = S (69) +[17:54:23.5586720] D = D (70) +[17:54:23.5596721] F = F (71) +[17:54:23.5596721] G = G (72) +[17:54:23.5606721] H = H (73) +[17:54:23.5606721] J = J (74) +[17:54:23.5616722] K = K (75) +[17:54:23.5616722] L = L (76) +[17:54:23.5616722] ; = Semicolon (77) +[17:54:23.5626723] ' = Quotes (78) +[17:54:23.5626723] Return = Enter (80) +[17:54:23.5636723] Page Down = PageDown (82) +[17:54:23.5636723] -------- +[17:54:23.5646724] Left Shift = LShift (88) +[17:54:23.5646724] Z = Z (90) +[17:54:23.5656724] X = X (91) +[17:54:23.5656724] C = C (92) +[17:54:23.5666725] V = V (93) +[17:54:23.5676725] B = B (94) +[17:54:23.5676725] N = N (95) +[17:54:23.5676725] M = M (96) +[17:54:23.5686726] , = Comma (97) +[17:54:23.5686726] . = Period (98) +[17:54:23.5696727] / = Slash (99) +[17:54:23.5696727] Right Shift = RShift (101) +[17:54:23.5706727] Up Arrow = Up (103) +[17:54:23.5706727] End = End (104) +[17:54:23.5716728] -------- +[17:54:23.5716728] Left Control = LCtrl (110) +[17:54:23.5726728] Left GUI = LWin (111) +[17:54:23.5726728] Left Alt = LAlt (112) +[17:54:23.5736729] Space = Space (116) +[17:54:23.5736729] Right Alt = RAlt (120) +[17:54:23.5736729] Fn = 4294967295 (121) +[17:54:23.5746729] Right Control = RCtrl (122) +[17:54:23.5746729] Left Arrow = Left (124) +[17:54:23.5746729] Down Arrow = Down (125) +[17:54:23.5756730] Right Arrow = Right (126) +[17:54:23.5756730] -------- diff --git a/Build/UserData/655491200.txt b/Build/UserData/655491200.txt new file mode 100644 index 0000000..7fd1394 --- /dev/null +++ b/Build/UserData/655491200.txt @@ -0,0 +1,35 @@ +[Base,Layer1,Layer2,Layer3,FnLayer1,FnLayer2,FnLayer3] +Pause:Delete + +[Base,Layer3,FnLayer3] +RAlt:Layer3Button + +[FnLayer1] +B:Macro(MyMacro) + +[Macro(MyMacro,0,RepeatXTimes)] +Press:A+B+C + +#[NoLighting] +#[Lighting(Light1,Layer1,Base)] +#[Lighting(Light2,Layer1,Base)] +#[Lighting(Light3,Base)] +#[Lighting(Light4,Base)] +#[Lighting(Light5,Base)] +#[Lighting(Light6,Base)] +#[Lighting(Light7,Base)] + +#[Lighting(Windmill,Base)] +#[Lighting(Gradual brighten,Base)] +#[Lighting(Flame,Base)] +#[Lighting(7 colors gradual change,Base)] +[Lighting(Windmill,Base)] +[Lighting(Blue light respiration,Base)] +[Lighting(Green light respiration,Base)] +[Lighting(Red light respiration,Base)] +[Lighting(White light respiration,Base)] + +#[Macro(MyMacro:1000:RepeatXTimes:2:true)] +#Press:A+B+C +#Press:D+E+F +#Press:H+I+K \ No newline at end of file diff --git a/CommandLogger/GK6XLoggerLoader.cpp b/CommandLogger/GK6XLoggerLoader.cpp new file mode 100644 index 0000000..bc01f43 --- /dev/null +++ b/CommandLogger/GK6XLoggerLoader.cpp @@ -0,0 +1,150 @@ +// Copy of https://github.com/pixeltris/SonyAlphaUSB/blob/master/WIA%20Logger/SonyAlphaUSBLoader.cpp +// Taken 30th June 2019 +#include +#include "min_minhook.h" +#include +#include +#include + +#pragma comment(lib, "mscoree.lib") +#pragma comment(lib, "user32.lib") + +#ifdef __cplusplus +#define LIBRARY_API extern "C" __declspec (dllexport) +#else +#define LIBRARY_API __declspec (dllexport) +#endif + +BOOL hooksInitialized = FALSE; + +LIBRARY_API MH_STATUS WL_InitHooks() +{ + if (!hooksInitialized) + { + hooksInitialized = TRUE; + return MH_Initialize(); + } + return MH_OK; +} + +LIBRARY_API MH_STATUS WL_HookFunction(LPVOID target, LPVOID detour, LPVOID* original) +{ + MH_STATUS status = MH_CreateHook(target, detour, original); + if (status == MH_OK) + { + return MH_EnableHook(target); + } + return status; +} + +LIBRARY_API MH_STATUS WL_CreateHook(LPVOID target, LPVOID detour, LPVOID* original) +{ + return MH_CreateHook(target, detour, original); +} + +LIBRARY_API MH_STATUS WL_RemoveHook(LPVOID target) +{ + return MH_RemoveHook(target); +} + +LIBRARY_API MH_STATUS WL_EnableHook(LPVOID target) +{ + return MH_EnableHook(target); +} + +LIBRARY_API MH_STATUS WL_DisableHook(LPVOID target) +{ + return MH_DisableHook(target); +} + +void* currentDevice = NULL; +std::unordered_set deviceHandles; +typedef BOOL (WINAPI *CloseHandleCallback)(void* handle); +CloseHandleCallback closeHandleOriginal = NULL; +void* kernel32_closeHandle; +BOOL WINAPI CloseHandleHook(void* handle) +{ + if (handle && deviceHandles.find(handle) != deviceHandles.end()) + { + if (handle == currentDevice) + { + currentDevice = NULL; + } + deviceHandles.erase(handle); + } + return closeHandleOriginal(handle); +} +LIBRARY_API void WINAPI HookCloseHandle(void** currentDeviceAddr) +{ + *currentDeviceAddr = ¤tDevice; + + HMODULE kernel32 = GetModuleHandle("Kernel32.dll"); + kernel32_closeHandle = GetProcAddress(kernel32, "CloseHandle"); + MH_CreateHook(kernel32_closeHandle, &CloseHandleHook, (void**)&closeHandleOriginal); + WL_EnableHook(kernel32_closeHandle); +} +LIBRARY_API void WINAPI OnDeviceHandle(void* handle, BOOL add) +{ + if (add) + { + deviceHandles.insert(handle); + } + else + { + deviceHandles.erase(handle); + } +} +LIBRARY_API BOOL WINAPI IsKnownDevice(void* handle) +{ + return deviceHandles.find(handle) != deviceHandles.end(); +} + +void LoadDotNet() +{ + ICLRMetaHost* metaHost; + ICLRRuntimeHost* runtimeHost; + ICLRRuntimeInfo *runtimeInfo; + HRESULT result = CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, (LPVOID*)&metaHost); + if (!SUCCEEDED(result)) + { + return; + } + + result = metaHost->GetRuntime(L"v4.0.30319", IID_ICLRRuntimeInfo, (LPVOID*)&runtimeInfo); + if (!SUCCEEDED(result)) + { + return; + } + + result = runtimeInfo->GetInterface(CLSID_CLRRuntimeHost, IID_ICLRRuntimeHost, (LPVOID*)&runtimeHost); + if (!SUCCEEDED(result)) + { + return; + } + + result = runtimeHost->Start(); + if (!SUCCEEDED(result)) + { + return; + } + + result = runtimeInfo->BindAsLegacyV2Runtime(); + if (!SUCCEEDED(result)) + { + return; + } + + result = runtimeHost->ExecuteInDefaultAppDomain(L"GK6X.exe", L"GK6X.CommandLogger", L"DllMain", NULL, NULL); +} + +BOOL WINAPI DllMain(HINSTANCE hDll, DWORD dwReason, LPVOID lpReserved) +{ + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hDll); + CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)LoadDotNet, NULL, NULL, NULL); + break; + } + return TRUE; +} \ No newline at end of file diff --git a/CommandLogger/README.md b/CommandLogger/README.md new file mode 100644 index 0000000..9e82a2d --- /dev/null +++ b/CommandLogger/README.md @@ -0,0 +1,3 @@ +Compile with `cl.exe /LD /EHsc GK6XLoggerLoader.cpp` using Visual Studio Developer Command Prompt (32 bit only) + +Place the produced dll and the C# GK6X.exe in the folder of the GK6X software \ No newline at end of file diff --git a/CommandLogger/min_minhook.h b/CommandLogger/min_minhook.h new file mode 100644 index 0000000..75ea903 --- /dev/null +++ b/CommandLogger/min_minhook.h @@ -0,0 +1,2684 @@ +// Copy of https://github.com/pixeltris/SonyAlphaUSB/blob/master/WIA%20Logger/min_minhook.h +// Taken 30th June 2019 +// This is MinHook combined into a single header file +// https://github.com/TsudaKageyu/minhook + +/* + * MinHook - The Minimalistic API Hooking Library for x64/x86 + * Copyright (C) 2009-2017 Tsuda Kageyu. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#if !(defined _M_IX86) && !(defined _M_X64) && !(defined __i386__) && !(defined __x86_64__) + #error MinHook supports only x86 and x64 systems. +#endif + +#include +#include +#include + +// MinHook Error Codes. +typedef enum MH_STATUS +{ + // Unknown error. Should not be returned. + MH_UNKNOWN = -1, + + // Successful. + MH_OK = 0, + + // MinHook is already initialized. + MH_ERROR_ALREADY_INITIALIZED, + + // MinHook is not initialized yet, or already uninitialized. + MH_ERROR_NOT_INITIALIZED, + + // The hook for the specified target function is already created. + MH_ERROR_ALREADY_CREATED, + + // The hook for the specified target function is not created yet. + MH_ERROR_NOT_CREATED, + + // The hook for the specified target function is already enabled. + MH_ERROR_ENABLED, + + // The hook for the specified target function is not enabled yet, or already + // disabled. + MH_ERROR_DISABLED, + + // The specified pointer is invalid. It points the address of non-allocated + // and/or non-executable region. + MH_ERROR_NOT_EXECUTABLE, + + // The specified target function cannot be hooked. + MH_ERROR_UNSUPPORTED_FUNCTION, + + // Failed to allocate memory. + MH_ERROR_MEMORY_ALLOC, + + // Failed to change the memory protection. + MH_ERROR_MEMORY_PROTECT, + + // The specified module is not loaded. + MH_ERROR_MODULE_NOT_FOUND, + + // The specified function is not found. + MH_ERROR_FUNCTION_NOT_FOUND +} +MH_STATUS; + +// Can be passed as a parameter to MH_EnableHook, MH_DisableHook, +// MH_QueueEnableHook or MH_QueueDisableHook. +#define MH_ALL_HOOKS NULL + +#ifdef __cplusplus +extern "C" { +#endif + + // Initialize the MinHook library. You must call this function EXACTLY ONCE + // at the beginning of your program. + MH_STATUS WINAPI MH_Initialize(VOID); + + // Uninitialize the MinHook library. You must call this function EXACTLY + // ONCE at the end of your program. + MH_STATUS WINAPI MH_Uninitialize(VOID); + + // Creates a Hook for the specified target function, in disabled state. + // Parameters: + // pTarget [in] A pointer to the target function, which will be + // overridden by the detour function. + // pDetour [in] A pointer to the detour function, which will override + // the target function. + // ppOriginal [out] A pointer to the trampoline function, which will be + // used to call the original target function. + // This parameter can be NULL. + MH_STATUS WINAPI MH_CreateHook(LPVOID pTarget, LPVOID pDetour, LPVOID *ppOriginal); + + // Creates a Hook for the specified API function, in disabled state. + // Parameters: + // pszModule [in] A pointer to the loaded module name which contains the + // target function. + // pszTarget [in] A pointer to the target function name, which will be + // overridden by the detour function. + // pDetour [in] A pointer to the detour function, which will override + // the target function. + // ppOriginal [out] A pointer to the trampoline function, which will be + // used to call the original target function. + // This parameter can be NULL. + MH_STATUS WINAPI MH_CreateHookApi( + LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal); + + // Creates a Hook for the specified API function, in disabled state. + // Parameters: + // pszModule [in] A pointer to the loaded module name which contains the + // target function. + // pszTarget [in] A pointer to the target function name, which will be + // overridden by the detour function. + // pDetour [in] A pointer to the detour function, which will override + // the target function. + // ppOriginal [out] A pointer to the trampoline function, which will be + // used to call the original target function. + // This parameter can be NULL. + // ppTarget [out] A pointer to the target function, which will be used + // with other functions. + // This parameter can be NULL. + MH_STATUS WINAPI MH_CreateHookApiEx( + LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal, LPVOID *ppTarget); + + // Removes an already created hook. + // Parameters: + // pTarget [in] A pointer to the target function. + MH_STATUS WINAPI MH_RemoveHook(LPVOID pTarget); + + // Enables an already created hook. + // Parameters: + // pTarget [in] A pointer to the target function. + // If this parameter is MH_ALL_HOOKS, all created hooks are + // enabled in one go. + MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget); + + // Disables an already created hook. + // Parameters: + // pTarget [in] A pointer to the target function. + // If this parameter is MH_ALL_HOOKS, all created hooks are + // disabled in one go. + MH_STATUS WINAPI MH_DisableHook(LPVOID pTarget); + + // Queues to enable an already created hook. + // Parameters: + // pTarget [in] A pointer to the target function. + // If this parameter is MH_ALL_HOOKS, all created hooks are + // queued to be enabled. + MH_STATUS WINAPI MH_QueueEnableHook(LPVOID pTarget); + + // Queues to disable an already created hook. + // Parameters: + // pTarget [in] A pointer to the target function. + // If this parameter is MH_ALL_HOOKS, all created hooks are + // queued to be disabled. + MH_STATUS WINAPI MH_QueueDisableHook(LPVOID pTarget); + + // Applies all queued changes in one go. + MH_STATUS WINAPI MH_ApplyQueued(VOID); + + // Translates the MH_STATUS to its name as a string. + const char * WINAPI MH_StatusToString(MH_STATUS status); + +#ifdef __cplusplus +} +#endif + +typedef INT8 int8_t; +typedef INT16 int16_t; +typedef INT32 int32_t; +typedef INT64 int64_t; +typedef UINT8 uint8_t; +typedef UINT16 uint16_t; +typedef UINT32 uint32_t; +typedef UINT64 uint64_t; + +/* + * Hacker Disassembler Engine 64 + * Copyright (c) 2008-2009, Vyacheslav Patkov. + * All rights reserved. + * + * hde64.h: C/C++ header file + * + */ + +#if defined(_M_X64) || defined(__x86_64__) + +#define C_NONE 0x00 +#define C_MODRM 0x01 +#define C_IMM8 0x02 +#define C_IMM16 0x04 +#define C_IMM_P66 0x10 +#define C_REL8 0x20 +#define C_REL32 0x40 +#define C_GROUP 0x80 +#define C_ERROR 0xff + +#define PRE_ANY 0x00 +#define PRE_NONE 0x01 +#define PRE_F2 0x02 +#define PRE_F3 0x04 +#define PRE_66 0x08 +#define PRE_67 0x10 +#define PRE_LOCK 0x20 +#define PRE_SEG 0x40 +#define PRE_ALL 0xff + +#define DELTA_OPCODES 0x4a +#define DELTA_FPU_REG 0xfd +#define DELTA_FPU_MODRM 0x104 +#define DELTA_PREFIXES 0x13c +#define DELTA_OP_LOCK_OK 0x1ae +#define DELTA_OP2_LOCK_OK 0x1c6 +#define DELTA_OP_ONLY_MEM 0x1d8 +#define DELTA_OP2_ONLY_MEM 0x1e7 + +unsigned char hde64_table[] = { + 0xa5,0xaa,0xa5,0xb8,0xa5,0xaa,0xa5,0xaa,0xa5,0xb8,0xa5,0xb8,0xa5,0xb8,0xa5, + 0xb8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xac,0xc0,0xcc,0xc0,0xa1,0xa1, + 0xa1,0xa1,0xb1,0xa5,0xa5,0xa6,0xc0,0xc0,0xd7,0xda,0xe0,0xc0,0xe4,0xc0,0xea, + 0xea,0xe0,0xe0,0x98,0xc8,0xee,0xf1,0xa5,0xd3,0xa5,0xa5,0xa1,0xea,0x9e,0xc0, + 0xc0,0xc2,0xc0,0xe6,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0xab, + 0x8b,0x90,0x64,0x5b,0x5b,0x5b,0x5b,0x5b,0x92,0x5b,0x5b,0x76,0x90,0x92,0x92, + 0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x6a,0x73,0x90, + 0x5b,0x52,0x52,0x52,0x52,0x5b,0x5b,0x5b,0x5b,0x77,0x7c,0x77,0x85,0x5b,0x5b, + 0x70,0x5b,0x7a,0xaf,0x76,0x76,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b, + 0x5b,0x5b,0x86,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xd5,0x03,0xcc,0x01,0xbc, + 0x03,0xf0,0x03,0x03,0x04,0x00,0x50,0x50,0x50,0x50,0xff,0x20,0x20,0x20,0x20, + 0x01,0x01,0x01,0x01,0xc4,0x02,0x10,0xff,0xff,0xff,0x01,0x00,0x03,0x11,0xff, + 0x03,0xc4,0xc6,0xc8,0x02,0x10,0x00,0xff,0xcc,0x01,0x01,0x01,0x00,0x00,0x00, + 0x00,0x01,0x01,0x03,0x01,0xff,0xff,0xc0,0xc2,0x10,0x11,0x02,0x03,0x01,0x01, + 0x01,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0x10, + 0x10,0x10,0x10,0x02,0x10,0x00,0x00,0xc6,0xc8,0x02,0x02,0x02,0x02,0x06,0x00, + 0x04,0x00,0x02,0xff,0x00,0xc0,0xc2,0x01,0x01,0x03,0x03,0x03,0xca,0x40,0x00, + 0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0xff,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff, + 0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00, + 0xff,0x40,0x40,0x40,0x40,0x41,0x49,0x40,0x40,0x40,0x40,0x4c,0x42,0x40,0x40, + 0x40,0x40,0x40,0x40,0x40,0x40,0x4f,0x44,0x53,0x40,0x40,0x40,0x44,0x57,0x43, + 0x5c,0x40,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, + 0x40,0x40,0x64,0x66,0x6e,0x6b,0x40,0x40,0x6a,0x46,0x40,0x40,0x44,0x46,0x40, + 0x40,0x5b,0x44,0x40,0x40,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x01,0x06, + 0x06,0x02,0x06,0x06,0x00,0x06,0x00,0x0a,0x0a,0x00,0x00,0x00,0x02,0x07,0x07, + 0x06,0x02,0x0d,0x06,0x06,0x06,0x0e,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04, + 0x04,0x04,0x05,0x06,0x06,0x06,0x00,0x00,0x00,0x0e,0x00,0x00,0x08,0x00,0x10, + 0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01,0x86,0x00, + 0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba,0xf8,0xbb, + 0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00,0xc4,0xff, + 0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00,0x13,0x09, + 0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07,0xb2,0xff, + 0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf,0xe7,0x08, + 0x00,0xf0,0x02,0x00 +}; + +#define F_MODRM 0x00000001 +#define F_SIB 0x00000002 +#define F_IMM8 0x00000004 +#define F_IMM16 0x00000008 +#define F_IMM32 0x00000010 +#define F_IMM64 0x00000020 +#define F_DISP8 0x00000040 +#define F_DISP16 0x00000080 +#define F_DISP32 0x00000100 +#define F_RELATIVE 0x00000200 +#define F_ERROR 0x00001000 +#define F_ERROR_OPCODE 0x00002000 +#define F_ERROR_LENGTH 0x00004000 +#define F_ERROR_LOCK 0x00008000 +#define F_ERROR_OPERAND 0x00010000 +#define F_PREFIX_REPNZ 0x01000000 +#define F_PREFIX_REPX 0x02000000 +#define F_PREFIX_REP 0x03000000 +#define F_PREFIX_66 0x04000000 +#define F_PREFIX_67 0x08000000 +#define F_PREFIX_LOCK 0x10000000 +#define F_PREFIX_SEG 0x20000000 +#define F_PREFIX_REX 0x40000000 +#define F_PREFIX_ANY 0x7f000000 + +#define PREFIX_SEGMENT_CS 0x2e +#define PREFIX_SEGMENT_SS 0x36 +#define PREFIX_SEGMENT_DS 0x3e +#define PREFIX_SEGMENT_ES 0x26 +#define PREFIX_SEGMENT_FS 0x64 +#define PREFIX_SEGMENT_GS 0x65 +#define PREFIX_LOCK 0xf0 +#define PREFIX_REPNZ 0xf2 +#define PREFIX_REPX 0xf3 +#define PREFIX_OPERAND_SIZE 0x66 +#define PREFIX_ADDRESS_SIZE 0x67 + +#pragma pack(push,1) + +typedef struct { + uint8_t len; + uint8_t p_rep; + uint8_t p_lock; + uint8_t p_seg; + uint8_t p_66; + uint8_t p_67; + uint8_t rex; + uint8_t rex_w; + uint8_t rex_r; + uint8_t rex_x; + uint8_t rex_b; + uint8_t opcode; + uint8_t opcode2; + uint8_t modrm; + uint8_t modrm_mod; + uint8_t modrm_reg; + uint8_t modrm_rm; + uint8_t sib; + uint8_t sib_scale; + uint8_t sib_index; + uint8_t sib_base; + union { + uint8_t imm8; + uint16_t imm16; + uint32_t imm32; + uint64_t imm64; + } imm; + union { + uint8_t disp8; + uint16_t disp16; + uint32_t disp32; + } disp; + uint32_t flags; +} hde64s; + +#pragma pack(pop) + +#ifdef __cplusplus +extern "C" { +#endif + +/* __cdecl */ +unsigned int hde64_disasm(const void *code, hde64s *hs); + +#ifdef __cplusplus +} +#endif + +unsigned int hde64_disasm(const void *code, hde64s *hs) +{ + uint8_t x, c, *p = (uint8_t *)code, cflags, opcode, pref = 0; + uint8_t *ht = hde64_table, m_mod, m_reg, m_rm, disp_size = 0; + uint8_t op64 = 0; + + // Avoid using memset to reduce the footprint. +//#ifndef _MSC_VER + memset((LPBYTE)hs, 0, sizeof(hde64s)); +//#else +// __stosb((LPBYTE)hs, 0, sizeof(hde64s)); +//#endif + + for (x = 16; x; x--) + switch (c = *p++) { + case 0xf3: + hs->p_rep = c; + pref |= PRE_F3; + break; + case 0xf2: + hs->p_rep = c; + pref |= PRE_F2; + break; + case 0xf0: + hs->p_lock = c; + pref |= PRE_LOCK; + break; + case 0x26: case 0x2e: case 0x36: + case 0x3e: case 0x64: case 0x65: + hs->p_seg = c; + pref |= PRE_SEG; + break; + case 0x66: + hs->p_66 = c; + pref |= PRE_66; + break; + case 0x67: + hs->p_67 = c; + pref |= PRE_67; + break; + default: + goto pref_done; + } + pref_done: + + hs->flags = (uint32_t)pref << 23; + + if (!pref) + pref |= PRE_NONE; + + if ((c & 0xf0) == 0x40) { + hs->flags |= F_PREFIX_REX; + if ((hs->rex_w = (c & 0xf) >> 3) && (*p & 0xf8) == 0xb8) + op64++; + hs->rex_r = (c & 7) >> 2; + hs->rex_x = (c & 3) >> 1; + hs->rex_b = c & 1; + if (((c = *p++) & 0xf0) == 0x40) { + opcode = c; + goto error_opcode; + } + } + + if ((hs->opcode = c) == 0x0f) { + hs->opcode2 = c = *p++; + ht += DELTA_OPCODES; + } else if (c >= 0xa0 && c <= 0xa3) { + op64++; + if (pref & PRE_67) + pref |= PRE_66; + else + pref &= ~PRE_66; + } + + opcode = c; + cflags = ht[ht[opcode / 4] + (opcode % 4)]; + + if (cflags == C_ERROR) { + error_opcode: + hs->flags |= F_ERROR | F_ERROR_OPCODE; + cflags = 0; + if ((opcode & -3) == 0x24) + cflags++; + } + + x = 0; + if (cflags & C_GROUP) { + uint16_t t; + t = *(uint16_t *)(ht + (cflags & 0x7f)); + cflags = (uint8_t)t; + x = (uint8_t)(t >> 8); + } + + if (hs->opcode2) { + ht = hde64_table + DELTA_PREFIXES; + if (ht[ht[opcode / 4] + (opcode % 4)] & pref) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + } + + if (cflags & C_MODRM) { + hs->flags |= F_MODRM; + hs->modrm = c = *p++; + hs->modrm_mod = m_mod = c >> 6; + hs->modrm_rm = m_rm = c & 7; + hs->modrm_reg = m_reg = (c & 0x3f) >> 3; + + if (x && ((x << m_reg) & 0x80)) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + + if (!hs->opcode2 && opcode >= 0xd9 && opcode <= 0xdf) { + uint8_t t = opcode - 0xd9; + if (m_mod == 3) { + ht = hde64_table + DELTA_FPU_MODRM + t*8; + t = ht[m_reg] << m_rm; + } else { + ht = hde64_table + DELTA_FPU_REG; + t = ht[t] << m_reg; + } + if (t & 0x80) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + } + + if (pref & PRE_LOCK) { + if (m_mod == 3) { + hs->flags |= F_ERROR | F_ERROR_LOCK; + } else { + uint8_t *table_end, op = opcode; + if (hs->opcode2) { + ht = hde64_table + DELTA_OP2_LOCK_OK; + table_end = ht + DELTA_OP_ONLY_MEM - DELTA_OP2_LOCK_OK; + } else { + ht = hde64_table + DELTA_OP_LOCK_OK; + table_end = ht + DELTA_OP2_LOCK_OK - DELTA_OP_LOCK_OK; + op &= -2; + } + for (; ht != table_end; ht++) + if (*ht++ == op) { + if (!((*ht << m_reg) & 0x80)) + goto no_lock_error; + else + break; + } + hs->flags |= F_ERROR | F_ERROR_LOCK; + no_lock_error: + ; + } + } + + if (hs->opcode2) { + switch (opcode) { + case 0x20: case 0x22: + m_mod = 3; + if (m_reg > 4 || m_reg == 1) + goto error_operand; + else + goto no_error_operand; + case 0x21: case 0x23: + m_mod = 3; + if (m_reg == 4 || m_reg == 5) + goto error_operand; + else + goto no_error_operand; + } + } else { + switch (opcode) { + case 0x8c: + if (m_reg > 5) + goto error_operand; + else + goto no_error_operand; + case 0x8e: + if (m_reg == 1 || m_reg > 5) + goto error_operand; + else + goto no_error_operand; + } + } + + if (m_mod == 3) { + uint8_t *table_end; + if (hs->opcode2) { + ht = hde64_table + DELTA_OP2_ONLY_MEM; + table_end = ht + sizeof(hde64_table) - DELTA_OP2_ONLY_MEM; + } else { + ht = hde64_table + DELTA_OP_ONLY_MEM; + table_end = ht + DELTA_OP2_ONLY_MEM - DELTA_OP_ONLY_MEM; + } + for (; ht != table_end; ht += 2) + if (*ht++ == opcode) { + if (*ht++ & pref && !((*ht << m_reg) & 0x80)) + goto error_operand; + else + break; + } + goto no_error_operand; + } else if (hs->opcode2) { + switch (opcode) { + case 0x50: case 0xd7: case 0xf7: + if (pref & (PRE_NONE | PRE_66)) + goto error_operand; + break; + case 0xd6: + if (pref & (PRE_F2 | PRE_F3)) + goto error_operand; + break; + case 0xc5: + goto error_operand; + } + goto no_error_operand; + } else + goto no_error_operand; + + error_operand: + hs->flags |= F_ERROR | F_ERROR_OPERAND; + no_error_operand: + + c = *p++; + if (m_reg <= 1) { + if (opcode == 0xf6) + cflags |= C_IMM8; + else if (opcode == 0xf7) + cflags |= C_IMM_P66; + } + + switch (m_mod) { + case 0: + if (pref & PRE_67) { + if (m_rm == 6) + disp_size = 2; + } else + if (m_rm == 5) + disp_size = 4; + break; + case 1: + disp_size = 1; + break; + case 2: + disp_size = 2; + if (!(pref & PRE_67)) + disp_size <<= 1; + } + + if (m_mod != 3 && m_rm == 4) { + hs->flags |= F_SIB; + p++; + hs->sib = c; + hs->sib_scale = c >> 6; + hs->sib_index = (c & 0x3f) >> 3; + if ((hs->sib_base = c & 7) == 5 && !(m_mod & 1)) + disp_size = 4; + } + + p--; + switch (disp_size) { + case 1: + hs->flags |= F_DISP8; + hs->disp.disp8 = *p; + break; + case 2: + hs->flags |= F_DISP16; + hs->disp.disp16 = *(uint16_t *)p; + break; + case 4: + hs->flags |= F_DISP32; + hs->disp.disp32 = *(uint32_t *)p; + } + p += disp_size; + } else if (pref & PRE_LOCK) + hs->flags |= F_ERROR | F_ERROR_LOCK; + + if (cflags & C_IMM_P66) { + if (cflags & C_REL32) { + if (pref & PRE_66) { + hs->flags |= F_IMM16 | F_RELATIVE; + hs->imm.imm16 = *(uint16_t *)p; + p += 2; + goto disasm_done; + } + goto rel32_ok; + } + if (op64) { + hs->flags |= F_IMM64; + hs->imm.imm64 = *(uint64_t *)p; + p += 8; + } else if (!(pref & PRE_66)) { + hs->flags |= F_IMM32; + hs->imm.imm32 = *(uint32_t *)p; + p += 4; + } else + goto imm16_ok; + } + + + if (cflags & C_IMM16) { + imm16_ok: + hs->flags |= F_IMM16; + hs->imm.imm16 = *(uint16_t *)p; + p += 2; + } + if (cflags & C_IMM8) { + hs->flags |= F_IMM8; + hs->imm.imm8 = *p++; + } + + if (cflags & C_REL32) { + rel32_ok: + hs->flags |= F_IMM32 | F_RELATIVE; + hs->imm.imm32 = *(uint32_t *)p; + p += 4; + } else if (cflags & C_REL8) { + hs->flags |= F_IMM8 | F_RELATIVE; + hs->imm.imm8 = *p++; + } + + disasm_done: + + if ((hs->len = (uint8_t)(p-(uint8_t *)code)) > 15) { + hs->flags |= F_ERROR | F_ERROR_LENGTH; + hs->len = 15; + } + + return (unsigned int)hs->len; +} + +#else // defined(_M_X64) || defined(__x86_64__) + +#define C_NONE 0x00 +#define C_MODRM 0x01 +#define C_IMM8 0x02 +#define C_IMM16 0x04 +#define C_IMM_P66 0x10 +#define C_REL8 0x20 +#define C_REL32 0x40 +#define C_GROUP 0x80 +#define C_ERROR 0xff + +#define PRE_ANY 0x00 +#define PRE_NONE 0x01 +#define PRE_F2 0x02 +#define PRE_F3 0x04 +#define PRE_66 0x08 +#define PRE_67 0x10 +#define PRE_LOCK 0x20 +#define PRE_SEG 0x40 +#define PRE_ALL 0xff + +#define DELTA_OPCODES 0x4a +#define DELTA_FPU_REG 0xf1 +#define DELTA_FPU_MODRM 0xf8 +#define DELTA_PREFIXES 0x130 +#define DELTA_OP_LOCK_OK 0x1a1 +#define DELTA_OP2_LOCK_OK 0x1b9 +#define DELTA_OP_ONLY_MEM 0x1cb +#define DELTA_OP2_ONLY_MEM 0x1da + +unsigned char hde32_table[] = { + 0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3, + 0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xac,0xaa,0xb2,0xaa,0x9f,0x9f, + 0x9f,0x9f,0xb5,0xa3,0xa3,0xa4,0xaa,0xaa,0xba,0xaa,0x96,0xaa,0xa8,0xaa,0xc3, + 0xc3,0x96,0x96,0xb7,0xae,0xd6,0xbd,0xa3,0xc5,0xa3,0xa3,0x9f,0xc3,0x9c,0xaa, + 0xaa,0xac,0xaa,0xbf,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0x90, + 0x82,0x7d,0x97,0x59,0x59,0x59,0x59,0x59,0x7f,0x59,0x59,0x60,0x7d,0x7f,0x7f, + 0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x9a,0x88,0x7d, + 0x59,0x50,0x50,0x50,0x50,0x59,0x59,0x59,0x59,0x61,0x94,0x61,0x9e,0x59,0x59, + 0x85,0x59,0x92,0xa3,0x60,0x60,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59, + 0x59,0x59,0x9f,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xcc,0x01,0xbc,0x03,0xf0, + 0x10,0x10,0x10,0x10,0x50,0x50,0x50,0x50,0x14,0x20,0x20,0x20,0x20,0x01,0x01, + 0x01,0x01,0xc4,0x02,0x10,0x00,0x00,0x00,0x00,0x01,0x01,0xc0,0xc2,0x10,0x11, + 0x02,0x03,0x11,0x03,0x03,0x04,0x00,0x00,0x14,0x00,0x02,0x00,0x00,0xc6,0xc8, + 0x02,0x02,0x02,0x02,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xca, + 0x01,0x01,0x01,0x00,0x06,0x00,0x04,0x00,0xc0,0xc2,0x01,0x01,0x03,0x01,0xff, + 0xff,0x01,0x00,0x03,0xc4,0xc4,0xc6,0x03,0x01,0x01,0x01,0xff,0x03,0x03,0x03, + 0xc8,0x40,0x00,0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00, + 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xff,0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7f,0x00,0x00,0xff,0x4a,0x4a,0x4a,0x4a,0x4b,0x52,0x4a,0x4a,0x4a,0x4a,0x4f, + 0x4c,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x55,0x45,0x40,0x4a,0x4a,0x4a, + 0x45,0x59,0x4d,0x46,0x4a,0x5d,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a, + 0x4a,0x4a,0x4a,0x4a,0x4a,0x61,0x63,0x67,0x4e,0x4a,0x4a,0x6b,0x6d,0x4a,0x4a, + 0x45,0x6d,0x4a,0x4a,0x44,0x45,0x4a,0x4a,0x00,0x00,0x00,0x02,0x0d,0x06,0x06, + 0x06,0x06,0x0e,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x00,0x06,0x06,0x02,0x06, + 0x00,0x0a,0x0a,0x07,0x07,0x06,0x02,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04, + 0x04,0x04,0x00,0x00,0x00,0x0e,0x05,0x06,0x06,0x06,0x01,0x06,0x00,0x00,0x08, + 0x00,0x10,0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01, + 0x86,0x00,0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba, + 0xf8,0xbb,0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00, + 0xc4,0xff,0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00, + 0x13,0x09,0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07, + 0xb2,0xff,0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf, + 0xe7,0x08,0x00,0xf0,0x02,0x00 +}; + +#define F_MODRM 0x00000001 +#define F_SIB 0x00000002 +#define F_IMM8 0x00000004 +#define F_IMM16 0x00000008 +#define F_IMM32 0x00000010 +#define F_DISP8 0x00000020 +#define F_DISP16 0x00000040 +#define F_DISP32 0x00000080 +#define F_RELATIVE 0x00000100 +#define F_2IMM16 0x00000800 +#define F_ERROR 0x00001000 +#define F_ERROR_OPCODE 0x00002000 +#define F_ERROR_LENGTH 0x00004000 +#define F_ERROR_LOCK 0x00008000 +#define F_ERROR_OPERAND 0x00010000 +#define F_PREFIX_REPNZ 0x01000000 +#define F_PREFIX_REPX 0x02000000 +#define F_PREFIX_REP 0x03000000 +#define F_PREFIX_66 0x04000000 +#define F_PREFIX_67 0x08000000 +#define F_PREFIX_LOCK 0x10000000 +#define F_PREFIX_SEG 0x20000000 +#define F_PREFIX_ANY 0x3f000000 + +#define PREFIX_SEGMENT_CS 0x2e +#define PREFIX_SEGMENT_SS 0x36 +#define PREFIX_SEGMENT_DS 0x3e +#define PREFIX_SEGMENT_ES 0x26 +#define PREFIX_SEGMENT_FS 0x64 +#define PREFIX_SEGMENT_GS 0x65 +#define PREFIX_LOCK 0xf0 +#define PREFIX_REPNZ 0xf2 +#define PREFIX_REPX 0xf3 +#define PREFIX_OPERAND_SIZE 0x66 +#define PREFIX_ADDRESS_SIZE 0x67 + +#pragma pack(push,1) + +typedef struct { + uint8_t len; + uint8_t p_rep; + uint8_t p_lock; + uint8_t p_seg; + uint8_t p_66; + uint8_t p_67; + uint8_t opcode; + uint8_t opcode2; + uint8_t modrm; + uint8_t modrm_mod; + uint8_t modrm_reg; + uint8_t modrm_rm; + uint8_t sib; + uint8_t sib_scale; + uint8_t sib_index; + uint8_t sib_base; + union { + uint8_t imm8; + uint16_t imm16; + uint32_t imm32; + } imm; + union { + uint8_t disp8; + uint16_t disp16; + uint32_t disp32; + } disp; + uint32_t flags; +} hde32s; + +#pragma pack(pop) + +#ifdef __cplusplus +extern "C" { +#endif + +/* __cdecl */ +unsigned int hde32_disasm(const void *code, hde32s *hs); + +#ifdef __cplusplus +} +#endif + +unsigned int hde32_disasm(const void *code, hde32s *hs) +{ + uint8_t x, c, *p = (uint8_t *)code, cflags, opcode, pref = 0; + uint8_t *ht = hde32_table, m_mod, m_reg, m_rm, disp_size = 0; + + // Avoid using memset to reduce the footprint. +//#ifndef _MSC_VER + memset((LPBYTE)hs, 0, sizeof(hde32s)); +//#else +// __stosb((LPBYTE)hs, 0, sizeof(hde32s)); +//#endif + + for (x = 16; x; x--) + switch (c = *p++) { + case 0xf3: + hs->p_rep = c; + pref |= PRE_F3; + break; + case 0xf2: + hs->p_rep = c; + pref |= PRE_F2; + break; + case 0xf0: + hs->p_lock = c; + pref |= PRE_LOCK; + break; + case 0x26: case 0x2e: case 0x36: + case 0x3e: case 0x64: case 0x65: + hs->p_seg = c; + pref |= PRE_SEG; + break; + case 0x66: + hs->p_66 = c; + pref |= PRE_66; + break; + case 0x67: + hs->p_67 = c; + pref |= PRE_67; + break; + default: + goto pref_done; + } + pref_done: + + hs->flags = (uint32_t)pref << 23; + + if (!pref) + pref |= PRE_NONE; + + if ((hs->opcode = c) == 0x0f) { + hs->opcode2 = c = *p++; + ht += DELTA_OPCODES; + } else if (c >= 0xa0 && c <= 0xa3) { + if (pref & PRE_67) + pref |= PRE_66; + else + pref &= ~PRE_66; + } + + opcode = c; + cflags = ht[ht[opcode / 4] + (opcode % 4)]; + + if (cflags == C_ERROR) { + hs->flags |= F_ERROR | F_ERROR_OPCODE; + cflags = 0; + if ((opcode & -3) == 0x24) + cflags++; + } + + x = 0; + if (cflags & C_GROUP) { + uint16_t t; + t = *(uint16_t *)(ht + (cflags & 0x7f)); + cflags = (uint8_t)t; + x = (uint8_t)(t >> 8); + } + + if (hs->opcode2) { + ht = hde32_table + DELTA_PREFIXES; + if (ht[ht[opcode / 4] + (opcode % 4)] & pref) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + } + + if (cflags & C_MODRM) { + hs->flags |= F_MODRM; + hs->modrm = c = *p++; + hs->modrm_mod = m_mod = c >> 6; + hs->modrm_rm = m_rm = c & 7; + hs->modrm_reg = m_reg = (c & 0x3f) >> 3; + + if (x && ((x << m_reg) & 0x80)) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + + if (!hs->opcode2 && opcode >= 0xd9 && opcode <= 0xdf) { + uint8_t t = opcode - 0xd9; + if (m_mod == 3) { + ht = hde32_table + DELTA_FPU_MODRM + t*8; + t = ht[m_reg] << m_rm; + } else { + ht = hde32_table + DELTA_FPU_REG; + t = ht[t] << m_reg; + } + if (t & 0x80) + hs->flags |= F_ERROR | F_ERROR_OPCODE; + } + + if (pref & PRE_LOCK) { + if (m_mod == 3) { + hs->flags |= F_ERROR | F_ERROR_LOCK; + } else { + uint8_t *table_end, op = opcode; + if (hs->opcode2) { + ht = hde32_table + DELTA_OP2_LOCK_OK; + table_end = ht + DELTA_OP_ONLY_MEM - DELTA_OP2_LOCK_OK; + } else { + ht = hde32_table + DELTA_OP_LOCK_OK; + table_end = ht + DELTA_OP2_LOCK_OK - DELTA_OP_LOCK_OK; + op &= -2; + } + for (; ht != table_end; ht++) + if (*ht++ == op) { + if (!((*ht << m_reg) & 0x80)) + goto no_lock_error; + else + break; + } + hs->flags |= F_ERROR | F_ERROR_LOCK; + no_lock_error: + ; + } + } + + if (hs->opcode2) { + switch (opcode) { + case 0x20: case 0x22: + m_mod = 3; + if (m_reg > 4 || m_reg == 1) + goto error_operand; + else + goto no_error_operand; + case 0x21: case 0x23: + m_mod = 3; + if (m_reg == 4 || m_reg == 5) + goto error_operand; + else + goto no_error_operand; + } + } else { + switch (opcode) { + case 0x8c: + if (m_reg > 5) + goto error_operand; + else + goto no_error_operand; + case 0x8e: + if (m_reg == 1 || m_reg > 5) + goto error_operand; + else + goto no_error_operand; + } + } + + if (m_mod == 3) { + uint8_t *table_end; + if (hs->opcode2) { + ht = hde32_table + DELTA_OP2_ONLY_MEM; + table_end = ht + sizeof(hde32_table) - DELTA_OP2_ONLY_MEM; + } else { + ht = hde32_table + DELTA_OP_ONLY_MEM; + table_end = ht + DELTA_OP2_ONLY_MEM - DELTA_OP_ONLY_MEM; + } + for (; ht != table_end; ht += 2) + if (*ht++ == opcode) { + if (*ht++ & pref && !((*ht << m_reg) & 0x80)) + goto error_operand; + else + break; + } + goto no_error_operand; + } else if (hs->opcode2) { + switch (opcode) { + case 0x50: case 0xd7: case 0xf7: + if (pref & (PRE_NONE | PRE_66)) + goto error_operand; + break; + case 0xd6: + if (pref & (PRE_F2 | PRE_F3)) + goto error_operand; + break; + case 0xc5: + goto error_operand; + } + goto no_error_operand; + } else + goto no_error_operand; + + error_operand: + hs->flags |= F_ERROR | F_ERROR_OPERAND; + no_error_operand: + + c = *p++; + if (m_reg <= 1) { + if (opcode == 0xf6) + cflags |= C_IMM8; + else if (opcode == 0xf7) + cflags |= C_IMM_P66; + } + + switch (m_mod) { + case 0: + if (pref & PRE_67) { + if (m_rm == 6) + disp_size = 2; + } else + if (m_rm == 5) + disp_size = 4; + break; + case 1: + disp_size = 1; + break; + case 2: + disp_size = 2; + if (!(pref & PRE_67)) + disp_size <<= 1; + } + + if (m_mod != 3 && m_rm == 4 && !(pref & PRE_67)) { + hs->flags |= F_SIB; + p++; + hs->sib = c; + hs->sib_scale = c >> 6; + hs->sib_index = (c & 0x3f) >> 3; + if ((hs->sib_base = c & 7) == 5 && !(m_mod & 1)) + disp_size = 4; + } + + p--; + switch (disp_size) { + case 1: + hs->flags |= F_DISP8; + hs->disp.disp8 = *p; + break; + case 2: + hs->flags |= F_DISP16; + hs->disp.disp16 = *(uint16_t *)p; + break; + case 4: + hs->flags |= F_DISP32; + hs->disp.disp32 = *(uint32_t *)p; + } + p += disp_size; + } else if (pref & PRE_LOCK) + hs->flags |= F_ERROR | F_ERROR_LOCK; + + if (cflags & C_IMM_P66) { + if (cflags & C_REL32) { + if (pref & PRE_66) { + hs->flags |= F_IMM16 | F_RELATIVE; + hs->imm.imm16 = *(uint16_t *)p; + p += 2; + goto disasm_done; + } + goto rel32_ok; + } + if (pref & PRE_66) { + hs->flags |= F_IMM16; + hs->imm.imm16 = *(uint16_t *)p; + p += 2; + } else { + hs->flags |= F_IMM32; + hs->imm.imm32 = *(uint32_t *)p; + p += 4; + } + } + + if (cflags & C_IMM16) { + if (hs->flags & F_IMM32) { + hs->flags |= F_IMM16; + hs->disp.disp16 = *(uint16_t *)p; + } else if (hs->flags & F_IMM16) { + hs->flags |= F_2IMM16; + hs->disp.disp16 = *(uint16_t *)p; + } else { + hs->flags |= F_IMM16; + hs->imm.imm16 = *(uint16_t *)p; + } + p += 2; + } + if (cflags & C_IMM8) { + hs->flags |= F_IMM8; + hs->imm.imm8 = *p++; + } + + if (cflags & C_REL32) { + rel32_ok: + hs->flags |= F_IMM32 | F_RELATIVE; + hs->imm.imm32 = *(uint32_t *)p; + p += 4; + } else if (cflags & C_REL8) { + hs->flags |= F_IMM8 | F_RELATIVE; + hs->imm.imm8 = *p++; + } + + disasm_done: + + if ((hs->len = (uint8_t)(p-(uint8_t *)code)) > 15) { + hs->flags |= F_ERROR | F_ERROR_LENGTH; + hs->len = 15; + } + + return (unsigned int)hs->len; +} + +#endif // X86 disasm + +////////////////////////////////////////////////////////////// +// buffer.h +////////////////////////////////////////////////////////////// + +// Size of each memory slot. +#if defined(_M_X64) || defined(__x86_64__) + #define MEMORY_SLOT_SIZE 64 +#else + #define MEMORY_SLOT_SIZE 32 +#endif + +VOID InitializeBuffer(VOID); +VOID UninitializeBuffer(VOID); +LPVOID AllocateBuffer(LPVOID pOrigin); +VOID FreeBuffer(LPVOID pBuffer); +BOOL IsExecutableAddress(LPVOID pAddress); + +////////////////////////////////////////////////////////////// +// trampoline.h +////////////////////////////////////////////////////////////// + +#pragma pack(push, 1) + +// Structs for writing x86/x64 instructions. + +// 8-bit relative jump. +typedef struct _JMP_REL_SHORT +{ + UINT8 opcode; // EB xx: JMP +2+xx + UINT8 operand; +} JMP_REL_SHORT, *PJMP_REL_SHORT; + +// 32-bit direct relative jump/call. +typedef struct _JMP_REL +{ + UINT8 opcode; // E9/E8 xxxxxxxx: JMP/CALL +5+xxxxxxxx + UINT32 operand; // Relative destination address +} JMP_REL, *PJMP_REL, CALL_REL; + +// 64-bit indirect absolute jump. +typedef struct _JMP_ABS +{ + UINT8 opcode0; // FF25 00000000: JMP [+6] + UINT8 opcode1; + UINT32 dummy; + UINT64 address; // Absolute destination address +} JMP_ABS, *PJMP_ABS; + +// 64-bit indirect absolute call. +typedef struct _CALL_ABS +{ + UINT8 opcode0; // FF15 00000002: CALL [+6] + UINT8 opcode1; + UINT32 dummy0; + UINT8 dummy1; // EB 08: JMP +10 + UINT8 dummy2; + UINT64 address; // Absolute destination address +} CALL_ABS; + +// 32-bit direct relative conditional jumps. +typedef struct _JCC_REL +{ + UINT8 opcode0; // 0F8* xxxxxxxx: J** +6+xxxxxxxx + UINT8 opcode1; + UINT32 operand; // Relative destination address +} JCC_REL; + +// 64bit indirect absolute conditional jumps that x64 lacks. +typedef struct _JCC_ABS +{ + UINT8 opcode; // 7* 0E: J** +16 + UINT8 dummy0; + UINT8 dummy1; // FF25 00000000: JMP [+6] + UINT8 dummy2; + UINT32 dummy3; + UINT64 address; // Absolute destination address +} JCC_ABS; + +#pragma pack(pop) + +typedef struct _TRAMPOLINE +{ + LPVOID pTarget; // [In] Address of the target function. + LPVOID pDetour; // [In] Address of the detour function. + LPVOID pTrampoline; // [In] Buffer address for the trampoline and relay function. + +#if defined(_M_X64) || defined(__x86_64__) + LPVOID pRelay; // [Out] Address of the relay function. +#endif + BOOL patchAbove; // [Out] Should use the hot patch area? + UINT nIP; // [Out] Number of the instruction boundaries. + UINT8 oldIPs[8]; // [Out] Instruction boundaries of the target function. + UINT8 newIPs[8]; // [Out] Instruction boundaries of the trampoline function. +} TRAMPOLINE, *PTRAMPOLINE; + +BOOL CreateTrampolineFunction(PTRAMPOLINE ct); + +////////////////////////////////////////////////////////////// +// buffer.c +////////////////////////////////////////////////////////////// + +// Size of each memory block. (= page size of VirtualAlloc) +#define MEMORY_BLOCK_SIZE 0x1000 + +// Max range for seeking a memory block. (= 1024MB) +#define MAX_MEMORY_RANGE 0x40000000 + +// Memory protection flags to check the executable address. +#define PAGE_EXECUTE_FLAGS \ + (PAGE_EXECUTE | PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY) + +// Memory slot. +typedef struct _MEMORY_SLOT +{ + union + { + struct _MEMORY_SLOT *pNext; + UINT8 buffer[MEMORY_SLOT_SIZE]; + }; +} MEMORY_SLOT, *PMEMORY_SLOT; + +// Memory block info. Placed at the head of each block. +typedef struct _MEMORY_BLOCK +{ + struct _MEMORY_BLOCK *pNext; + PMEMORY_SLOT pFree; // First element of the free slot list. + UINT usedCount; +} MEMORY_BLOCK, *PMEMORY_BLOCK; + +//------------------------------------------------------------------------- +// Global Variables: +//------------------------------------------------------------------------- + +// First element of the memory block list. +PMEMORY_BLOCK g_pMemoryBlocks; + +//------------------------------------------------------------------------- +VOID InitializeBuffer(VOID) +{ + // Nothing to do for now. +} + +//------------------------------------------------------------------------- +VOID UninitializeBuffer(VOID) +{ + PMEMORY_BLOCK pBlock = g_pMemoryBlocks; + g_pMemoryBlocks = NULL; + + while (pBlock) + { + PMEMORY_BLOCK pNext = pBlock->pNext; + VirtualFree(pBlock, 0, MEM_RELEASE); + pBlock = pNext; + } +} + +//------------------------------------------------------------------------- +#if defined(_M_X64) || defined(__x86_64__) +static LPVOID FindPrevFreeRegion(LPVOID pAddress, LPVOID pMinAddr, DWORD dwAllocationGranularity) +{ + ULONG_PTR tryAddr = (ULONG_PTR)pAddress; + + // Round down to the allocation granularity. + tryAddr -= tryAddr % dwAllocationGranularity; + + // Start from the previous allocation granularity multiply. + tryAddr -= dwAllocationGranularity; + + while (tryAddr >= (ULONG_PTR)pMinAddr) + { + MEMORY_BASIC_INFORMATION mbi; + if (VirtualQuery((LPVOID)tryAddr, &mbi, sizeof(mbi)) == 0) + break; + + if (mbi.State == MEM_FREE) + return (LPVOID)tryAddr; + + if ((ULONG_PTR)mbi.AllocationBase < dwAllocationGranularity) + break; + + tryAddr = (ULONG_PTR)mbi.AllocationBase - dwAllocationGranularity; + } + + return NULL; +} +#endif + +//------------------------------------------------------------------------- +#if defined(_M_X64) || defined(__x86_64__) +static LPVOID FindNextFreeRegion(LPVOID pAddress, LPVOID pMaxAddr, DWORD dwAllocationGranularity) +{ + ULONG_PTR tryAddr = (ULONG_PTR)pAddress; + + // Round down to the allocation granularity. + tryAddr -= tryAddr % dwAllocationGranularity; + + // Start from the next allocation granularity multiply. + tryAddr += dwAllocationGranularity; + + while (tryAddr <= (ULONG_PTR)pMaxAddr) + { + MEMORY_BASIC_INFORMATION mbi; + if (VirtualQuery((LPVOID)tryAddr, &mbi, sizeof(mbi)) == 0) + break; + + if (mbi.State == MEM_FREE) + return (LPVOID)tryAddr; + + tryAddr = (ULONG_PTR)mbi.BaseAddress + mbi.RegionSize; + + // Round up to the next allocation granularity. + tryAddr += dwAllocationGranularity - 1; + tryAddr -= tryAddr % dwAllocationGranularity; + } + + return NULL; +} +#endif + +//------------------------------------------------------------------------- +static PMEMORY_BLOCK GetMemoryBlock(LPVOID pOrigin) +{ + PMEMORY_BLOCK pBlock; +#if defined(_M_X64) || defined(__x86_64__) + ULONG_PTR minAddr; + ULONG_PTR maxAddr; + + SYSTEM_INFO si; + GetSystemInfo(&si); + minAddr = (ULONG_PTR)si.lpMinimumApplicationAddress; + maxAddr = (ULONG_PTR)si.lpMaximumApplicationAddress; + + // pOrigin ?? 512MB + if ((ULONG_PTR)pOrigin > MAX_MEMORY_RANGE && minAddr < (ULONG_PTR)pOrigin - MAX_MEMORY_RANGE) + minAddr = (ULONG_PTR)pOrigin - MAX_MEMORY_RANGE; + + if (maxAddr > (ULONG_PTR)pOrigin + MAX_MEMORY_RANGE) + maxAddr = (ULONG_PTR)pOrigin + MAX_MEMORY_RANGE; + + // Make room for MEMORY_BLOCK_SIZE bytes. + maxAddr -= MEMORY_BLOCK_SIZE - 1; +#endif + + // Look the registered blocks for a reachable one. + for (pBlock = g_pMemoryBlocks; pBlock != NULL; pBlock = pBlock->pNext) + { +#if defined(_M_X64) || defined(__x86_64__) + // Ignore the blocks too far. + if ((ULONG_PTR)pBlock < minAddr || (ULONG_PTR)pBlock >= maxAddr) + continue; +#endif + // The block has at least one unused slot. + if (pBlock->pFree != NULL) + return pBlock; + } + +#if defined(_M_X64) || defined(__x86_64__) + // Alloc a new block above if not found. + { + LPVOID pAlloc = pOrigin; + while ((ULONG_PTR)pAlloc >= minAddr) + { + pAlloc = FindPrevFreeRegion(pAlloc, (LPVOID)minAddr, si.dwAllocationGranularity); + if (pAlloc == NULL) + break; + + pBlock = (PMEMORY_BLOCK)VirtualAlloc( + pAlloc, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); + if (pBlock != NULL) + break; + } + } + + // Alloc a new block below if not found. + if (pBlock == NULL) + { + LPVOID pAlloc = pOrigin; + while ((ULONG_PTR)pAlloc <= maxAddr) + { + pAlloc = FindNextFreeRegion(pAlloc, (LPVOID)maxAddr, si.dwAllocationGranularity); + if (pAlloc == NULL) + break; + + pBlock = (PMEMORY_BLOCK)VirtualAlloc( + pAlloc, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); + if (pBlock != NULL) + break; + } + } +#else + // In x86 mode, a memory block can be placed anywhere. + pBlock = (PMEMORY_BLOCK)VirtualAlloc( + NULL, MEMORY_BLOCK_SIZE, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); +#endif + + if (pBlock != NULL) + { + // Build a linked list of all the slots. + PMEMORY_SLOT pSlot = (PMEMORY_SLOT)pBlock + 1; + pBlock->pFree = NULL; + pBlock->usedCount = 0; + do + { + pSlot->pNext = pBlock->pFree; + pBlock->pFree = pSlot; + pSlot++; + } while ((ULONG_PTR)pSlot - (ULONG_PTR)pBlock <= MEMORY_BLOCK_SIZE - MEMORY_SLOT_SIZE); + + pBlock->pNext = g_pMemoryBlocks; + g_pMemoryBlocks = pBlock; + } + + return pBlock; +} + +//------------------------------------------------------------------------- +LPVOID AllocateBuffer(LPVOID pOrigin) +{ + PMEMORY_SLOT pSlot; + PMEMORY_BLOCK pBlock = GetMemoryBlock(pOrigin); + if (pBlock == NULL) + return NULL; + + // Remove an unused slot from the list. + pSlot = pBlock->pFree; + pBlock->pFree = pSlot->pNext; + pBlock->usedCount++; +#ifdef _DEBUG + // Fill the slot with INT3 for debugging. + memset(pSlot, 0xCC, sizeof(MEMORY_SLOT)); +#endif + return pSlot; +} + +//------------------------------------------------------------------------- +VOID FreeBuffer(LPVOID pBuffer) +{ + PMEMORY_BLOCK pBlock = g_pMemoryBlocks; + PMEMORY_BLOCK pPrev = NULL; + ULONG_PTR pTargetBlock = ((ULONG_PTR)pBuffer / MEMORY_BLOCK_SIZE) * MEMORY_BLOCK_SIZE; + + while (pBlock != NULL) + { + if ((ULONG_PTR)pBlock == pTargetBlock) + { + PMEMORY_SLOT pSlot = (PMEMORY_SLOT)pBuffer; +#ifdef _DEBUG + // Clear the released slot for debugging. + memset(pSlot, 0x00, sizeof(*pSlot)); +#endif + // Restore the released slot to the list. + pSlot->pNext = pBlock->pFree; + pBlock->pFree = pSlot; + pBlock->usedCount--; + + // Free if unused. + if (pBlock->usedCount == 0) + { + if (pPrev) + pPrev->pNext = pBlock->pNext; + else + g_pMemoryBlocks = pBlock->pNext; + + VirtualFree(pBlock, 0, MEM_RELEASE); + } + + break; + } + + pPrev = pBlock; + pBlock = pBlock->pNext; + } +} + +//------------------------------------------------------------------------- +BOOL IsExecutableAddress(LPVOID pAddress) +{ + MEMORY_BASIC_INFORMATION mi; + VirtualQuery(pAddress, &mi, sizeof(mi)); + + return (mi.State == MEM_COMMIT && (mi.Protect & PAGE_EXECUTE_FLAGS)); +} + +////////////////////////////////////////////////////////////// +// trampoline.c +////////////////////////////////////////////////////////////// + +#ifndef ARRAYSIZE + #define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0])) +#endif + +#if defined(_M_X64) || defined(__x86_64__) + typedef hde64s HDE; + #define HDE_DISASM(code, hs) hde64_disasm(code, hs) +#else + typedef hde32s HDE; + #define HDE_DISASM(code, hs) hde32_disasm(code, hs) +#endif + +// Maximum size of a trampoline function. +#if defined(_M_X64) || defined(__x86_64__) + #define TRAMPOLINE_MAX_SIZE (MEMORY_SLOT_SIZE - sizeof(JMP_ABS)) +#else + #define TRAMPOLINE_MAX_SIZE MEMORY_SLOT_SIZE +#endif + +//------------------------------------------------------------------------- +static BOOL IsCodePadding(LPBYTE pInst, UINT size) +{ + UINT i; + + if (pInst[0] != 0x00 && pInst[0] != 0x90 && pInst[0] != 0xCC) + return FALSE; + + for (i = 1; i < size; ++i) + { + if (pInst[i] != pInst[0]) + return FALSE; + } + return TRUE; +} + +//------------------------------------------------------------------------- +BOOL CreateTrampolineFunction(PTRAMPOLINE ct) +{ +#if defined(_M_X64) || defined(__x86_64__) + CALL_ABS call = { + 0xFF, 0x15, 0x00000002, // FF15 00000002: CALL [RIP+8] + 0xEB, 0x08, // EB 08: JMP +10 + 0x0000000000000000ULL // Absolute destination address + }; + JMP_ABS jmp = { + 0xFF, 0x25, 0x00000000, // FF25 00000000: JMP [RIP+6] + 0x0000000000000000ULL // Absolute destination address + }; + JCC_ABS jcc = { + 0x70, 0x0E, // 7* 0E: J** +16 + 0xFF, 0x25, 0x00000000, // FF25 00000000: JMP [RIP+6] + 0x0000000000000000ULL // Absolute destination address + }; +#else + CALL_REL call = { + 0xE8, // E8 xxxxxxxx: CALL +5+xxxxxxxx + 0x00000000 // Relative destination address + }; + JMP_REL jmp = { + 0xE9, // E9 xxxxxxxx: JMP +5+xxxxxxxx + 0x00000000 // Relative destination address + }; + JCC_REL jcc = { + 0x0F, 0x80, // 0F8* xxxxxxxx: J** +6+xxxxxxxx + 0x00000000 // Relative destination address + }; +#endif + + UINT8 oldPos = 0; + UINT8 newPos = 0; + ULONG_PTR jmpDest = 0; // Destination address of an internal jump. + BOOL finished = FALSE; // Is the function completed? +#if defined(_M_X64) || defined(__x86_64__) + UINT8 instBuf[16]; +#endif + + ct->patchAbove = FALSE; + ct->nIP = 0; + + do + { + HDE hs; + UINT copySize; + LPVOID pCopySrc; + ULONG_PTR pOldInst = (ULONG_PTR)ct->pTarget + oldPos; + ULONG_PTR pNewInst = (ULONG_PTR)ct->pTrampoline + newPos; + + copySize = HDE_DISASM((LPVOID)pOldInst, &hs); + if (hs.flags & F_ERROR) + return FALSE; + + pCopySrc = (LPVOID)pOldInst; + if (oldPos >= sizeof(JMP_REL)) + { + // The trampoline function is long enough. + // Complete the function with the jump to the target function. +#if defined(_M_X64) || defined(__x86_64__) + jmp.address = pOldInst; +#else + jmp.operand = (UINT32)(pOldInst - (pNewInst + sizeof(jmp))); +#endif + pCopySrc = &jmp; + copySize = sizeof(jmp); + + finished = TRUE; + } +#if defined(_M_X64) || defined(__x86_64__) + else if ((hs.modrm & 0xC7) == 0x05) + { + // Instructions using RIP relative addressing. (ModR/M = 00???101B) + + // Modify the RIP relative address. + PUINT32 pRelAddr; + + // Avoid using memcpy to reduce the footprint. +//#ifndef _MSC_VER + memcpy(instBuf, (LPBYTE)pOldInst, copySize); +//#else +// __movsb(instBuf, (LPBYTE)pOldInst, copySize); +//#endif + pCopySrc = instBuf; + + // Relative address is stored at (instruction length - immediate value length - 4). + pRelAddr = (PUINT32)(instBuf + hs.len - ((hs.flags & 0x3C) >> 2) - 4); + *pRelAddr + = (UINT32)((pOldInst + hs.len + (INT32)hs.disp.disp32) - (pNewInst + hs.len)); + + // Complete the function if JMP (FF /4). + if (hs.opcode == 0xFF && hs.modrm_reg == 4) + finished = TRUE; + } +#endif + else if (hs.opcode == 0xE8) + { + // Direct relative CALL + ULONG_PTR dest = pOldInst + hs.len + (INT32)hs.imm.imm32; +#if defined(_M_X64) || defined(__x86_64__) + call.address = dest; +#else + call.operand = (UINT32)(dest - (pNewInst + sizeof(call))); +#endif + pCopySrc = &call; + copySize = sizeof(call); + } + else if ((hs.opcode & 0xFD) == 0xE9) + { + // Direct relative JMP (EB or E9) + ULONG_PTR dest = pOldInst + hs.len; + + if (hs.opcode == 0xEB) // isShort jmp + dest += (INT8)hs.imm.imm8; + else + dest += (INT32)hs.imm.imm32; + + // Simply copy an internal jump. + if ((ULONG_PTR)ct->pTarget <= dest + && dest < ((ULONG_PTR)ct->pTarget + sizeof(JMP_REL))) + { + if (jmpDest < dest) + jmpDest = dest; + } + else + { +#if defined(_M_X64) || defined(__x86_64__) + jmp.address = dest; +#else + jmp.operand = (UINT32)(dest - (pNewInst + sizeof(jmp))); +#endif + pCopySrc = &jmp; + copySize = sizeof(jmp); + + // Exit the function If it is not in the branch + finished = (pOldInst >= jmpDest); + } + } + else if ((hs.opcode & 0xF0) == 0x70 + || (hs.opcode & 0xFC) == 0xE0 + || (hs.opcode2 & 0xF0) == 0x80) + { + // Direct relative Jcc + ULONG_PTR dest = pOldInst + hs.len; + + if ((hs.opcode & 0xF0) == 0x70 // Jcc + || (hs.opcode & 0xFC) == 0xE0) // LOOPNZ/LOOPZ/LOOP/JECXZ + dest += (INT8)hs.imm.imm8; + else + dest += (INT32)hs.imm.imm32; + + // Simply copy an internal jump. + if ((ULONG_PTR)ct->pTarget <= dest + && dest < ((ULONG_PTR)ct->pTarget + sizeof(JMP_REL))) + { + if (jmpDest < dest) + jmpDest = dest; + } + else if ((hs.opcode & 0xFC) == 0xE0) + { + // LOOPNZ/LOOPZ/LOOP/JCXZ/JECXZ to the outside are not supported. + return FALSE; + } + else + { + UINT8 cond = ((hs.opcode != 0x0F ? hs.opcode : hs.opcode2) & 0x0F); +#if defined(_M_X64) || defined(__x86_64__) + // Invert the condition in x64 mode to simplify the conditional jump logic. + jcc.opcode = 0x71 ^ cond; + jcc.address = dest; +#else + jcc.opcode1 = 0x80 | cond; + jcc.operand = (UINT32)(dest - (pNewInst + sizeof(jcc))); +#endif + pCopySrc = &jcc; + copySize = sizeof(jcc); + } + } + else if ((hs.opcode & 0xFE) == 0xC2) + { + // RET (C2 or C3) + + // Complete the function if not in a branch. + finished = (pOldInst >= jmpDest); + } + + // Can't alter the instruction length in a branch. + if (pOldInst < jmpDest && copySize != hs.len) + return FALSE; + + // Trampoline function is too large. + if ((newPos + copySize) > TRAMPOLINE_MAX_SIZE) + return FALSE; + + // Trampoline function has too many instructions. + if (ct->nIP >= ARRAYSIZE(ct->oldIPs)) + return FALSE; + + ct->oldIPs[ct->nIP] = oldPos; + ct->newIPs[ct->nIP] = newPos; + ct->nIP++; + + // Avoid using memcpy to reduce the footprint. +//#ifndef _MSC_VER + memcpy((LPBYTE)ct->pTrampoline + newPos, pCopySrc, copySize); +//#else +// __movsb((LPBYTE)ct->pTrampoline + newPos, (const BYTE*)pCopySrc, copySize); +//#endif + newPos += copySize; + oldPos += hs.len; + } + while (!finished); + + // Is there enough place for a long jump? + if (oldPos < sizeof(JMP_REL) + && !IsCodePadding((LPBYTE)ct->pTarget + oldPos, sizeof(JMP_REL) - oldPos)) + { + // Is there enough place for a short jump? + if (oldPos < sizeof(JMP_REL_SHORT) + && !IsCodePadding((LPBYTE)ct->pTarget + oldPos, sizeof(JMP_REL_SHORT) - oldPos)) + { + return FALSE; + } + + // Can we place the long jump above the function? + if (!IsExecutableAddress((LPBYTE)ct->pTarget - sizeof(JMP_REL))) + return FALSE; + + if (!IsCodePadding((LPBYTE)ct->pTarget - sizeof(JMP_REL), sizeof(JMP_REL))) + return FALSE; + + ct->patchAbove = TRUE; + } + +#if defined(_M_X64) || defined(__x86_64__) + // Create a relay function. + jmp.address = (ULONG_PTR)ct->pDetour; + + ct->pRelay = (LPBYTE)ct->pTrampoline + newPos; + memcpy(ct->pRelay, &jmp, sizeof(jmp)); +#endif + + return TRUE; +} + +////////////////////////////////////////////////////////////// +// hook.c +////////////////////////////////////////////////////////////// + +#ifndef ARRAYSIZE + #define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0])) +#endif + +// Initial capacity of the HOOK_ENTRY buffer. +#define INITIAL_HOOK_CAPACITY 32 + +// Initial capacity of the thread IDs buffer. +#define INITIAL_THREAD_CAPACITY 128 + +// Special hook position values. +#define INVALID_HOOK_POS UINT_MAX +#define ALL_HOOKS_POS UINT_MAX + +// Freeze() action argument defines. +#define ACTION_DISABLE 0 +#define ACTION_ENABLE 1 +#define ACTION_APPLY_QUEUED 2 + +// Thread access rights for suspending/resuming threads. +#define THREAD_ACCESS \ + (THREAD_SUSPEND_RESUME | THREAD_GET_CONTEXT | THREAD_QUERY_INFORMATION | THREAD_SET_CONTEXT) + +// Hook information. +typedef struct _HOOK_ENTRY +{ + LPVOID pTarget; // Address of the target function. + LPVOID pDetour; // Address of the detour or relay function. + LPVOID pTrampoline; // Address of the trampoline function. + UINT8 backup[8]; // Original prologue of the target function. + + UINT8 patchAbove : 1; // Uses the hot patch area. + UINT8 isEnabled : 1; // Enabled. + UINT8 queueEnable : 1; // Queued for enabling/disabling when != isEnabled. + + UINT nIP : 4; // Count of the instruction boundaries. + UINT8 oldIPs[8]; // Instruction boundaries of the target function. + UINT8 newIPs[8]; // Instruction boundaries of the trampoline function. +} HOOK_ENTRY, *PHOOK_ENTRY; + +// Suspended threads for Freeze()/Unfreeze(). +typedef struct _FROZEN_THREADS +{ + LPDWORD pItems; // Data heap + UINT capacity; // Size of allocated data heap, items + UINT size; // Actual number of data items +} FROZEN_THREADS, *PFROZEN_THREADS; + +//------------------------------------------------------------------------- +// Global Variables: +//------------------------------------------------------------------------- + +// Spin lock flag for EnterSpinLock()/LeaveSpinLock(). +volatile LONG g_isLocked = FALSE; + +// Private heap handle. If not NULL, this library is initialized. +HANDLE g_hHeap = NULL; + +// Hook entries. +struct +{ + PHOOK_ENTRY pItems; // Data heap + UINT capacity; // Size of allocated data heap, items + UINT size; // Actual number of data items +} g_hooks; + +//------------------------------------------------------------------------- +// Returns INVALID_HOOK_POS if not found. +static UINT FindHookEntry(LPVOID pTarget) +{ + UINT i; + for (i = 0; i < g_hooks.size; ++i) + { + if ((ULONG_PTR)pTarget == (ULONG_PTR)g_hooks.pItems[i].pTarget) + return i; + } + + return INVALID_HOOK_POS; +} + +//------------------------------------------------------------------------- +static PHOOK_ENTRY AddHookEntry() +{ + if (g_hooks.pItems == NULL) + { + g_hooks.capacity = INITIAL_HOOK_CAPACITY; + g_hooks.pItems = (PHOOK_ENTRY)HeapAlloc( + g_hHeap, 0, g_hooks.capacity * sizeof(HOOK_ENTRY)); + if (g_hooks.pItems == NULL) + return NULL; + } + else if (g_hooks.size >= g_hooks.capacity) + { + PHOOK_ENTRY p = (PHOOK_ENTRY)HeapReAlloc( + g_hHeap, 0, g_hooks.pItems, (g_hooks.capacity * 2) * sizeof(HOOK_ENTRY)); + if (p == NULL) + return NULL; + + g_hooks.capacity *= 2; + g_hooks.pItems = p; + } + + return &g_hooks.pItems[g_hooks.size++]; +} + +//------------------------------------------------------------------------- +static void DeleteHookEntry(UINT pos) +{ + if (pos < g_hooks.size - 1) + g_hooks.pItems[pos] = g_hooks.pItems[g_hooks.size - 1]; + + g_hooks.size--; + + if (g_hooks.capacity / 2 >= INITIAL_HOOK_CAPACITY && g_hooks.capacity / 2 >= g_hooks.size) + { + PHOOK_ENTRY p = (PHOOK_ENTRY)HeapReAlloc( + g_hHeap, 0, g_hooks.pItems, (g_hooks.capacity / 2) * sizeof(HOOK_ENTRY)); + if (p == NULL) + return; + + g_hooks.capacity /= 2; + g_hooks.pItems = p; + } +} + +//------------------------------------------------------------------------- +static DWORD_PTR FindOldIP(PHOOK_ENTRY pHook, DWORD_PTR ip) +{ + UINT i; + + if (pHook->patchAbove && ip == ((DWORD_PTR)pHook->pTarget - sizeof(JMP_REL))) + return (DWORD_PTR)pHook->pTarget; + + for (i = 0; i < pHook->nIP; ++i) + { + if (ip == ((DWORD_PTR)pHook->pTrampoline + pHook->newIPs[i])) + return (DWORD_PTR)pHook->pTarget + pHook->oldIPs[i]; + } + +#if defined(_M_X64) || defined(__x86_64__) + // Check relay function. + if (ip == (DWORD_PTR)pHook->pDetour) + return (DWORD_PTR)pHook->pTarget; +#endif + + return 0; +} + +//------------------------------------------------------------------------- +static DWORD_PTR FindNewIP(PHOOK_ENTRY pHook, DWORD_PTR ip) +{ + UINT i; + for (i = 0; i < pHook->nIP; ++i) + { + if (ip == ((DWORD_PTR)pHook->pTarget + pHook->oldIPs[i])) + return (DWORD_PTR)pHook->pTrampoline + pHook->newIPs[i]; + } + + return 0; +} + +//------------------------------------------------------------------------- +static void ProcessThreadIPs(HANDLE hThread, UINT pos, UINT action) +{ + // If the thread suspended in the overwritten area, + // move IP to the proper address. + + CONTEXT c; +#if defined(_M_X64) || defined(__x86_64__) + DWORD64 *pIP = &c.Rip; +#else + DWORD *pIP = &c.Eip; +#endif + UINT count; + + c.ContextFlags = CONTEXT_CONTROL; + if (!GetThreadContext(hThread, &c)) + return; + + if (pos == ALL_HOOKS_POS) + { + pos = 0; + count = g_hooks.size; + } + else + { + count = pos + 1; + } + + for (; pos < count; ++pos) + { + PHOOK_ENTRY pHook = &g_hooks.pItems[pos]; + BOOL enable; + DWORD_PTR ip; + + switch (action) + { + case ACTION_DISABLE: + enable = FALSE; + break; + + case ACTION_ENABLE: + enable = TRUE; + break; + + default: // ACTION_APPLY_QUEUED + enable = pHook->queueEnable; + break; + } + if (pHook->isEnabled == enable) + continue; + + if (enable) + ip = FindNewIP(pHook, *pIP); + else + ip = FindOldIP(pHook, *pIP); + + if (ip != 0) + { + *pIP = ip; + SetThreadContext(hThread, &c); + } + } +} + +//------------------------------------------------------------------------- +static VOID EnumerateThreads(PFROZEN_THREADS pThreads) +{ + HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); + if (hSnapshot != INVALID_HANDLE_VALUE) + { + THREADENTRY32 te; + te.dwSize = sizeof(THREADENTRY32); + if (Thread32First(hSnapshot, &te)) + { + do + { + if (te.dwSize >= (FIELD_OFFSET(THREADENTRY32, th32OwnerProcessID) + sizeof(DWORD)) + && te.th32OwnerProcessID == GetCurrentProcessId() + && te.th32ThreadID != GetCurrentThreadId()) + { + if (pThreads->pItems == NULL) + { + pThreads->capacity = INITIAL_THREAD_CAPACITY; + pThreads->pItems + = (LPDWORD)HeapAlloc(g_hHeap, 0, pThreads->capacity * sizeof(DWORD)); + if (pThreads->pItems == NULL) + break; + } + else if (pThreads->size >= pThreads->capacity) + { + LPDWORD p = (LPDWORD)HeapReAlloc( + g_hHeap, 0, pThreads->pItems, (pThreads->capacity * 2) * sizeof(DWORD)); + if (p == NULL) + break; + + pThreads->capacity *= 2; + pThreads->pItems = p; + } + pThreads->pItems[pThreads->size++] = te.th32ThreadID; + } + + te.dwSize = sizeof(THREADENTRY32); + } while (Thread32Next(hSnapshot, &te)); + } + CloseHandle(hSnapshot); + } +} + +//------------------------------------------------------------------------- +static VOID Freeze(PFROZEN_THREADS pThreads, UINT pos, UINT action) +{ + pThreads->pItems = NULL; + pThreads->capacity = 0; + pThreads->size = 0; + EnumerateThreads(pThreads); + + if (pThreads->pItems != NULL) + { + UINT i; + for (i = 0; i < pThreads->size; ++i) + { + HANDLE hThread = OpenThread(THREAD_ACCESS, FALSE, pThreads->pItems[i]); + if (hThread != NULL) + { + SuspendThread(hThread); + ProcessThreadIPs(hThread, pos, action); + CloseHandle(hThread); + } + } + } +} + +//------------------------------------------------------------------------- +static VOID Unfreeze(PFROZEN_THREADS pThreads) +{ + if (pThreads->pItems != NULL) + { + UINT i; + for (i = 0; i < pThreads->size; ++i) + { + HANDLE hThread = OpenThread(THREAD_ACCESS, FALSE, pThreads->pItems[i]); + if (hThread != NULL) + { + ResumeThread(hThread); + CloseHandle(hThread); + } + } + + HeapFree(g_hHeap, 0, pThreads->pItems); + } +} + +//------------------------------------------------------------------------- +static MH_STATUS EnableHookLL(UINT pos, BOOL enable) +{ + PHOOK_ENTRY pHook = &g_hooks.pItems[pos]; + DWORD oldProtect; + SIZE_T patchSize = sizeof(JMP_REL); + LPBYTE pPatchTarget = (LPBYTE)pHook->pTarget; + + if (pHook->patchAbove) + { + pPatchTarget -= sizeof(JMP_REL); + patchSize += sizeof(JMP_REL_SHORT); + } + + if (!VirtualProtect(pPatchTarget, patchSize, PAGE_EXECUTE_READWRITE, &oldProtect)) + return MH_ERROR_MEMORY_PROTECT; + + if (enable) + { + PJMP_REL pJmp = (PJMP_REL)pPatchTarget; + pJmp->opcode = 0xE9; + pJmp->operand = (UINT32)((LPBYTE)pHook->pDetour - (pPatchTarget + sizeof(JMP_REL))); + + if (pHook->patchAbove) + { + PJMP_REL_SHORT pShortJmp = (PJMP_REL_SHORT)pHook->pTarget; + pShortJmp->opcode = 0xEB; + pShortJmp->operand = (UINT8)(0 - (sizeof(JMP_REL_SHORT) + sizeof(JMP_REL))); + } + } + else + { + if (pHook->patchAbove) + memcpy(pPatchTarget, pHook->backup, sizeof(JMP_REL) + sizeof(JMP_REL_SHORT)); + else + memcpy(pPatchTarget, pHook->backup, sizeof(JMP_REL)); + } + + VirtualProtect(pPatchTarget, patchSize, oldProtect, &oldProtect); + + // Just-in-case measure. + FlushInstructionCache(GetCurrentProcess(), pPatchTarget, patchSize); + + pHook->isEnabled = enable; + pHook->queueEnable = enable; + + return MH_OK; +} + +//------------------------------------------------------------------------- +static MH_STATUS EnableAllHooksLL(BOOL enable) +{ + MH_STATUS status = MH_OK; + UINT i, first = INVALID_HOOK_POS; + + for (i = 0; i < g_hooks.size; ++i) + { + if (g_hooks.pItems[i].isEnabled != enable) + { + first = i; + break; + } + } + + if (first != INVALID_HOOK_POS) + { + FROZEN_THREADS threads; + Freeze(&threads, ALL_HOOKS_POS, enable ? ACTION_ENABLE : ACTION_DISABLE); + + for (i = first; i < g_hooks.size; ++i) + { + if (g_hooks.pItems[i].isEnabled != enable) + { + status = EnableHookLL(i, enable); + if (status != MH_OK) + break; + } + } + + Unfreeze(&threads); + } + + return status; +} + +//------------------------------------------------------------------------- +static VOID EnterSpinLock(VOID) +{ + SIZE_T spinCount = 0; + + // Wait until the flag is FALSE. + while (InterlockedCompareExchange(&g_isLocked, TRUE, FALSE) != FALSE) + { + // No need to generate a memory barrier here, since InterlockedCompareExchange() + // generates a full memory barrier itself. + + // Prevent the loop from being too busy. + if (spinCount < 32) + Sleep(0); + else + Sleep(1); + + spinCount++; + } +} + +//------------------------------------------------------------------------- +static VOID LeaveSpinLock(VOID) +{ + // No need to generate a memory barrier here, since InterlockedExchange() + // generates a full memory barrier itself. + + InterlockedExchange(&g_isLocked, FALSE); +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_Initialize(VOID) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap == NULL) + { + g_hHeap = HeapCreate(0, 0, 0); + if (g_hHeap != NULL) + { + // Initialize the internal function buffer. + InitializeBuffer(); + } + else + { + status = MH_ERROR_MEMORY_ALLOC; + } + } + else + { + status = MH_ERROR_ALREADY_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_Uninitialize(VOID) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + status = EnableAllHooksLL(FALSE); + if (status == MH_OK) + { + // Free the internal function buffer. + + // HeapFree is actually not required, but some tools detect a false + // memory leak without HeapFree. + + UninitializeBuffer(); + + HeapFree(g_hHeap, 0, g_hooks.pItems); + HeapDestroy(g_hHeap); + + g_hHeap = NULL; + + g_hooks.pItems = NULL; + g_hooks.capacity = 0; + g_hooks.size = 0; + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_CreateHook(LPVOID pTarget, LPVOID pDetour, LPVOID *ppOriginal) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + if (1)//IsExecutableAddress(pTarget) && IsExecutableAddress(pDetour)) + { + UINT pos = FindHookEntry(pTarget); + if (pos == INVALID_HOOK_POS) + { + LPVOID pBuffer = AllocateBuffer(pTarget); + if (pBuffer != NULL) + { + TRAMPOLINE ct; + + ct.pTarget = pTarget; + ct.pDetour = pDetour; + ct.pTrampoline = pBuffer; + if (CreateTrampolineFunction(&ct)) + { + PHOOK_ENTRY pHook = AddHookEntry(); + if (pHook != NULL) + { + pHook->pTarget = ct.pTarget; +#if defined(_M_X64) || defined(__x86_64__) + pHook->pDetour = ct.pRelay; +#else + pHook->pDetour = ct.pDetour; +#endif + pHook->pTrampoline = ct.pTrampoline; + pHook->patchAbove = ct.patchAbove; + pHook->isEnabled = FALSE; + pHook->queueEnable = FALSE; + pHook->nIP = ct.nIP; + memcpy(pHook->oldIPs, ct.oldIPs, ARRAYSIZE(ct.oldIPs)); + memcpy(pHook->newIPs, ct.newIPs, ARRAYSIZE(ct.newIPs)); + + // Back up the target function. + + if (ct.patchAbove) + { + memcpy( + pHook->backup, + (LPBYTE)pTarget - sizeof(JMP_REL), + sizeof(JMP_REL) + sizeof(JMP_REL_SHORT)); + } + else + { + memcpy(pHook->backup, pTarget, sizeof(JMP_REL)); + } + + if (ppOriginal != NULL) + *ppOriginal = pHook->pTrampoline; + } + else + { + status = MH_ERROR_MEMORY_ALLOC; + } + } + else + { + status = MH_ERROR_UNSUPPORTED_FUNCTION; + } + + if (status != MH_OK) + { + FreeBuffer(pBuffer); + } + } + else + { + status = MH_ERROR_MEMORY_ALLOC; + } + } + else + { + status = MH_ERROR_ALREADY_CREATED; + } + } + else + { + status = MH_ERROR_NOT_EXECUTABLE; + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_RemoveHook(LPVOID pTarget) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + UINT pos = FindHookEntry(pTarget); + if (pos != INVALID_HOOK_POS) + { + if (g_hooks.pItems[pos].isEnabled) + { + FROZEN_THREADS threads; + Freeze(&threads, pos, ACTION_DISABLE); + + status = EnableHookLL(pos, FALSE); + + Unfreeze(&threads); + } + + if (status == MH_OK) + { + FreeBuffer(g_hooks.pItems[pos].pTrampoline); + DeleteHookEntry(pos); + } + } + else + { + status = MH_ERROR_NOT_CREATED; + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +static MH_STATUS EnableHook(LPVOID pTarget, BOOL enable) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + if (pTarget == MH_ALL_HOOKS) + { + status = EnableAllHooksLL(enable); + } + else + { + FROZEN_THREADS threads; + UINT pos = FindHookEntry(pTarget); + if (pos != INVALID_HOOK_POS) + { + if (g_hooks.pItems[pos].isEnabled != enable) + { + Freeze(&threads, pos, ACTION_ENABLE); + + status = EnableHookLL(pos, enable); + + Unfreeze(&threads); + } + else + { + status = enable ? MH_ERROR_ENABLED : MH_ERROR_DISABLED; + } + } + else + { + status = MH_ERROR_NOT_CREATED; + } + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget) +{ + return EnableHook(pTarget, TRUE); +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_DisableHook(LPVOID pTarget) +{ + return EnableHook(pTarget, FALSE); +} + +//------------------------------------------------------------------------- +static MH_STATUS QueueHook(LPVOID pTarget, BOOL queueEnable) +{ + MH_STATUS status = MH_OK; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + if (pTarget == MH_ALL_HOOKS) + { + UINT i; + for (i = 0; i < g_hooks.size; ++i) + g_hooks.pItems[i].queueEnable = queueEnable; + } + else + { + UINT pos = FindHookEntry(pTarget); + if (pos != INVALID_HOOK_POS) + { + g_hooks.pItems[pos].queueEnable = queueEnable; + } + else + { + status = MH_ERROR_NOT_CREATED; + } + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_QueueEnableHook(LPVOID pTarget) +{ + return QueueHook(pTarget, TRUE); +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_QueueDisableHook(LPVOID pTarget) +{ + return QueueHook(pTarget, FALSE); +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_ApplyQueued(VOID) +{ + MH_STATUS status = MH_OK; + UINT i, first = INVALID_HOOK_POS; + + EnterSpinLock(); + + if (g_hHeap != NULL) + { + for (i = 0; i < g_hooks.size; ++i) + { + if (g_hooks.pItems[i].isEnabled != g_hooks.pItems[i].queueEnable) + { + first = i; + break; + } + } + + if (first != INVALID_HOOK_POS) + { + FROZEN_THREADS threads; + Freeze(&threads, ALL_HOOKS_POS, ACTION_APPLY_QUEUED); + + for (i = first; i < g_hooks.size; ++i) + { + PHOOK_ENTRY pHook = &g_hooks.pItems[i]; + if (pHook->isEnabled != pHook->queueEnable) + { + status = EnableHookLL(i, pHook->queueEnable); + if (status != MH_OK) + break; + } + } + + Unfreeze(&threads); + } + } + else + { + status = MH_ERROR_NOT_INITIALIZED; + } + + LeaveSpinLock(); + + return status; +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_CreateHookApiEx( + LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, + LPVOID *ppOriginal, LPVOID *ppTarget) +{ + HMODULE hModule; + LPVOID pTarget; + + hModule = GetModuleHandleW(pszModule); + if (hModule == NULL) + return MH_ERROR_MODULE_NOT_FOUND; + + pTarget = (LPVOID)GetProcAddress(hModule, pszProcName); + if (pTarget == NULL) + return MH_ERROR_FUNCTION_NOT_FOUND; + + if(ppTarget != NULL) + *ppTarget = pTarget; + + return MH_CreateHook(pTarget, pDetour, ppOriginal); +} + +//------------------------------------------------------------------------- +MH_STATUS WINAPI MH_CreateHookApi( + LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal) +{ + return MH_CreateHookApiEx(pszModule, pszProcName, pDetour, ppOriginal, NULL); +} + +//------------------------------------------------------------------------- +const char * WINAPI MH_StatusToString(MH_STATUS status) +{ +#define MH_ST2STR(x) \ + case x: \ + return #x; + + switch (status) { + MH_ST2STR(MH_UNKNOWN) + MH_ST2STR(MH_OK) + MH_ST2STR(MH_ERROR_ALREADY_INITIALIZED) + MH_ST2STR(MH_ERROR_NOT_INITIALIZED) + MH_ST2STR(MH_ERROR_ALREADY_CREATED) + MH_ST2STR(MH_ERROR_NOT_CREATED) + MH_ST2STR(MH_ERROR_ENABLED) + MH_ST2STR(MH_ERROR_DISABLED) + MH_ST2STR(MH_ERROR_NOT_EXECUTABLE) + MH_ST2STR(MH_ERROR_UNSUPPORTED_FUNCTION) + MH_ST2STR(MH_ERROR_MEMORY_ALLOC) + MH_ST2STR(MH_ERROR_MEMORY_PROTECT) + MH_ST2STR(MH_ERROR_MODULE_NOT_FOUND) + MH_ST2STR(MH_ERROR_FUNCTION_NOT_FOUND) + } + +#undef MH_ST2STR + + return "(unknown)"; +} \ No newline at end of file diff --git a/GK6X.sln b/GK6X.sln new file mode 100644 index 0000000..f3da396 --- /dev/null +++ b/GK6X.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28803.202 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GK6X", "GK6X\GK6X.csproj", "{1475A021-74D1-4992-A22E-FF5E65C7A86C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Debug|x86.ActiveCfg = Debug|x86 + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Debug|x86.Build.0 = Debug|x86 + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Release|Any CPU.Build.0 = Release|Any CPU + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Release|x86.ActiveCfg = Release|x86 + {1475A021-74D1-4992-A22E-FF5E65C7A86C}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1484CC1A-F3EC-459D-8BC2-2B70DB475DCC} + EndGlobalSection +EndGlobal diff --git a/GK6X/BitHelper.cs b/GK6X/BitHelper.cs new file mode 100644 index 0000000..646a553 --- /dev/null +++ b/GK6X/BitHelper.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GK6X +{ + static class BitHelper + { + public static bool[] BytesToBits(byte[] bytes) + { + bool[] result = new bool[bytes.Length * 8]; + for (int i = 0; i < result.Length; i++) + { + int byteIndex = i / 8; + int bitIndex = i % 8; + result[i] = (bytes[byteIndex] & (byte)(1 << bitIndex)) != 0; + } + return result; + } + + public static byte[] BitsToBytes(bool[] bits) + { + byte[] result = new byte[bits.Length / 8]; + for (int i = 0; i < bits.Length; i++) + { + if (bits[i]) + { + int byteIndex = i / 8; + int bitIndex = i % 8; + result[byteIndex] |= (byte)(1 << bitIndex); + } + } + return result; + } + } +} diff --git a/GK6X/CMFile.cs b/GK6X/CMFile.cs new file mode 100644 index 0000000..966a4f2 --- /dev/null +++ b/GK6X/CMFile.cs @@ -0,0 +1,227 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; + +namespace GK6X +{ + static class CMFile + { + static Dictionary fileTypes = new Dictionary() + { + { CMFileType.Unknown, new byte[] { 0xCE, 0xDE, 0xD0, 0xA7 } },// Chinese letters? "ÎÞЧ"? + { CMFileType.Profile, Encoding.ASCII.GetBytes("PROFILE") }, + { CMFileType.Light, Encoding.ASCII.GetBytes("LIGHT") }, + { CMFileType.Statastic, Encoding.ASCII.GetBytes("STATASTIC") }, + { CMFileType.Appconf, Encoding.ASCII.GetBytes("APPCONF") }, + { CMFileType.Macro, Encoding.ASCII.GetBytes("MACRO") } + }; + + const uint fileSignature = 0x434D4631;// Magic / signature "1FMC" + + public static byte[] Load(string path) + { + if (File.Exists(path)) + { + return Decrypt(File.ReadAllBytes(path), path); + } + return null; + } + + public static byte[] Decrypt(byte[] buffer) + { + return Decrypt(buffer, null); + } + + private static byte[] Decrypt(byte[] buffer, string file) + { + using (MemoryStream stream = new MemoryStream(buffer)) + using (BinaryReader reader = new BinaryReader(stream)) + { + if (reader.ReadUInt32() != fileSignature) + { + Log("Bad file signature", buffer, file); + return null; + } + + // Header crc is at offset 4, written as 4 bytes (but still a crc16) + // (this is a crc of the first 32 bytes (where the crc bytes are 0) + stream.Position = 4; + ushort headerCrc = reader.ReadUInt16(); + + // Timestamp is at offset 8, written as 4 bytes + stream.Position = 8; + int timestamp = reader.ReadInt32(); + + // Length is at offset 12, written as 4 bytes + stream.Position = 12; + int dataLength = reader.ReadInt32(); + + // Data crc is at offset 16, written as 4 bytes (but still a crc16) + stream.Position = 16; + ushort dataCrc = reader.ReadUInt16(); + + // File type is at offset 20, written as 4 bytes + stream.Position = 20; + int fileType = reader.ReadInt32(); + + // File type (string) is at offset 24, written as 8 bytes, padded with 00 + stream.Position = 24; + byte[] fileTypeStrBuffer = reader.ReadBytes(8); + // First crc the file type name, then get crc the file type name (including zeroed bytes) + string fileTypeStr = Encoding.ASCII.GetString(fileTypeStrBuffer).TrimEnd('\0'); + ushort encryptionKey = Crc16.GetCrc(Encoding.ASCII.GetBytes(fileTypeStr)); + encryptionKey = Crc16.GetCrc(fileTypeStrBuffer, 0, encryptionKey); + + // Data is at offset 32 + stream.Position = 32; + byte[] data = reader.ReadBytes(dataLength); + ushort calculatedDataCrc = Decrypt(data, encryptionKey); + + if (dataCrc != calculatedDataCrc) + { + Log("File has an invalid data crc", buffer, file); + } + + if (stream.Position != stream.Length) + { + Log("File has trailing bytes", buffer, file); + } + + stream.Position = 0; + byte[] header = reader.ReadBytes(32); + header[4] = 0; + header[5] = 0; + header[6] = 0; + header[7] = 0; + ushort calculatedHeaderCrc = Crc16.GetCrc(header); + if (headerCrc != calculatedHeaderCrc) + { + Log("File has an invalid header crc", buffer, file); + } + + return data; + } + } + + public static byte[] Encrypt(byte[] fileData, CMFileType fileType) + { + using (MemoryStream stream = new MemoryStream()) + using (BinaryWriter writer = new BinaryWriter(stream)) + { + byte[] fileTypeStrBuffer = fileTypes[fileType]; + string fileTypeStr = Encoding.ASCII.GetString(fileTypeStrBuffer).TrimEnd('\0'); + ushort encryptionKey = Crc16.GetCrc(Encoding.ASCII.GetBytes(fileTypeStr)); + encryptionKey = Crc16.GetCrc(fileTypeStrBuffer, 0, encryptionKey); + + byte[] encryptedData = new byte[fileData.Length]; + Buffer.BlockCopy(fileData, 0, encryptedData, 0, fileData.Length); + ushort dataCrc = Encrypt(encryptedData, encryptionKey); + + // Offset 0 (file signature) + writer.Write(fileSignature); + + // Offset 4 (header crc - to be built after the header is fully formed) + writer.Write((int)0); + + // Offset 8 (timestamp) + writer.Write(GetTimeStamp(DateTime.Now)); + + // Offset 12 (data length) + writer.Write(fileData.Length); + + // Offset 16 (data crc) + writer.Write((int)dataCrc); + + // Offset 20 (file type) + writer.Write((int)fileType); + + // Offset 24-32 (file type string) + for (int i = 0; i < 8; i++) + { + writer.Write((byte)(i < fileTypeStrBuffer.Length ? fileTypeStrBuffer[i] : 0)); + } + + writer.Write(encryptedData); + + // Get the header bytes, calculate the crc, and insert the crc into the header + long tempPos = stream.Position; + stream.Position = 0; + byte[] header = new byte[32]; + stream.Read(header, 0, header.Length); + ushort headerCrc = Crc16.GetCrc(header); + stream.Position = 4; + writer.Write(headerCrc); + stream.Position = tempPos; + + return stream.ToArray(); + } + } + + private static int GetTimeStamp(DateTime dateTime) + { + return (int)dateTime.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; + } + + private static ushort Encrypt(byte[] buffer, ushort key) + { + ushort dataCrc = 0xFFFF; + for (int i = 0; i < buffer.Length; i++) + { + ushort tempKey = key; + key = (ushort)(Crc16.table[buffer[i] ^ (byte)(key >> 8)] ^ (ushort)(key << 8)); + dataCrc = (ushort)(Crc16.table[buffer[i] ^ (byte)(dataCrc >> 8)] ^ (ushort)(dataCrc << 8)); + buffer[i] = (byte)(buffer[i] ^ tempKey); + } + return dataCrc; + } + + private static ushort Decrypt(byte[] buffer, ushort key) + { + ushort dataCrc = 0xFFFF; + for (int i = 0; i < buffer.Length; i++) + { + buffer[i] = (byte)(buffer[i] ^ key); + key = (ushort)(Crc16.table[buffer[i] ^ (byte)(key >> 8)] ^ (ushort)(key << 8)); + dataCrc = (ushort)(Crc16.table[buffer[i] ^ (byte)(dataCrc >> 8)] ^ (ushort)(dataCrc << 8)); + } + return dataCrc; + } + + private static void Log(string str, byte[] buffer, string file) + { + Debug.WriteLine("[CMFile-ERROR] " + str + " (file: " + file + ")"); + } + } + + // These values need to be correct as they form part of the crc calculation + public enum CMFileType + { + /// + /// 0=??? some chinese characters? (CE DE D0 A7 00) + /// + Unknown = 0, + /// + /// PROFILE + /// + Profile = 1, + /// + /// LIGHT + /// + Light = 2, + /// + /// STATASTIC + /// + Statastic = 3, + /// + /// APPCONF + /// + Appconf = 4, + /// + /// MACRO + /// + Macro = 5 + } +} diff --git a/GK6X/CommandLogger.cs b/GK6X/CommandLogger.cs new file mode 100644 index 0000000..31883d3 --- /dev/null +++ b/GK6X/CommandLogger.cs @@ -0,0 +1,2479 @@ +// Based on https://github.com/pixeltris/SonyAlphaUSB/blob/master/SonyAlphaUSB/WIALogger.cs +// Taken 30th June 2019 +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; + +namespace GK6X +{ + // This is a mess, but it's just used for logging packets. It would nice to clean this up, but it probably isn't worth the effort. + // TODO: At least seperate out the logger parts from the process launcher/injector? + // NOTE: Lots of limitations here due to hooking functions the .NET Framework wants to use, causing lockups. + // NOTE: The process launcher will often crash the target process, just keep relaunching it until it works. TODO: Look into the crash. + internal unsafe class CommandLogger + { + const string targetProcessName = "CMS"; + const string targetProcessNameEx = targetProcessName + ".exe"; + const string someFileInTargetProcessFolder = "CGMEngine.dll"; + const string loaderDll = "GK6XLoggerLoader.dll"; + + static bool showConsole = true; + + static byte keyboardBufferSizeA; + static byte keyboardBufferSizeB; + static uint keyboardFirmwareId; + static byte keyboardFirmwareMinorVersion; + static byte keyboardFirmwareMajorVersion; + static KeyboardState keyboardState; + static bool logLightingDIY = false;// Logs static RGB values set per key + + static IntPtr currentDeviceAddr = IntPtr.Zero; + static IntPtr currentDevice + { + get + { + if (currentDeviceAddr != IntPtr.Zero) + { + return *(IntPtr*)currentDeviceAddr; + } + return IntPtr.Zero; + } + set + { + if (currentDeviceAddr != IntPtr.Zero) + { + *(IntPtr*)currentDeviceAddr = value; + } + } + } + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + delegate bool WriteFileDelegate(IntPtr hFile, IntPtr lpBuffer, int nNumberOfBytesToWrite, out int lpNumberOfBytesWritten, IntPtr lpOverlapped); + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + delegate bool ReadFileDelegate(IntPtr hFile, IntPtr lpBuffer, int nNumberOfBytesToRead, out int lpNumberOfBytesRead, IntPtr lpOverlapped); + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + delegate bool GetOverlappedResultDelegate(IntPtr hFile, IntPtr lpOverlapped, out int lpNumberOfBytesTransferred, bool bWait); + + [UnmanagedFunctionPointer(CallingConvention.StdCall, CharSet = CharSet.Unicode)] + delegate IntPtr CreateFileWDelegate([MarshalAs(UnmanagedType.LPWStr)] string lpFileName, int dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, IntPtr hTemplateFile); + + static IntPtr writeFileHookPtr; + static WriteFileDelegate writeFileHook; + static IntPtr writeFileOriginalPtr; + static WriteFileDelegate writeFileOriginal; + + static IntPtr readFileHookPtr; + static ReadFileDelegate readFileHook; + static IntPtr readFileOriginalPtr; + static ReadFileDelegate readFileOriginal; + // For working with ReadFile async + static IntPtr lastReadFileOverlappedPtr; + static IntPtr lastReadFileBufferPtr; + + static IntPtr getOverlappedResultHookPtr; + static GetOverlappedResultDelegate getOverlappedResultHook; + static IntPtr getOverlappedResultOriginalPtr; + static GetOverlappedResultDelegate getOverlappedResultOriginal; + + static IntPtr kernel32_createFileW; + static IntPtr createFileWHookPtr; + static CreateFileWDelegate createFileWHook; + static IntPtr createFileWOriginalPtr; + static CreateFileWDelegate createFileWOriginal; + // This is needed to avoid issues with recursion + static int numSkipCreateFileCalls = 1; + static int numSkippedCreateFileCalls = 0; + + class BufferedPacket + { + public ushort Opcode; + public int LastOffset; + public int CurrentOffset; + public byte[] Data; + public bool IsComplete; + + public BufferedPacket(Packet packet) + { + LastOffset = -1; + Opcode = packet.Opcode; + Append(packet); + } + + public void Append(Packet packet) + { + if (packet.Opcode != Opcode) + { + IsComplete = true; + return; + } + + int offset; + int length; + byte[] buffer; + if (TryGetBufferedInfo(packet, out offset, out length, out buffer, true)) + { + if (offset != CurrentOffset) + { + if (offset == LastOffset) + { + // Same data was sent twice. + return; + } + Log("Buffered packet offsets are invalid! packet: " + packet); + IsComplete = true; + return; + } + Append(buffer); + LastOffset = offset; + CurrentOffset = offset + length; + } + } + + private void Append(byte[] buffer) + { + if (Data == null) + { + Data = new byte[buffer.Length]; + Buffer.BlockCopy(buffer, 0, Data, 0, buffer.Length); + } + else + { + byte[] temp = new byte[Data.Length + buffer.Length]; + Buffer.BlockCopy(Data, 0, temp, 0, Data.Length); + Buffer.BlockCopy(buffer, 0, temp, Data.Length, buffer.Length); + Data = temp; + } + } + + public static bool IsBufferedPacket(Packet packet) + { + int offset, length; + byte[] buffer; + return TryGetBufferedInfo(packet, out offset, out length, out buffer, false); + } + + private static bool TryGetBufferedInfo(Packet packet, out int offset, out int length, out byte[] buffer, bool getBuffer) + { + int tempIndex = packet.Index; + bool isBufferedPacket = true; + switch ((OpCodes)packet.Opcode1) + { + case OpCodes.DriverLayerUpdateRealtimeLighting: + if (packet.Opcode2 == 2) + { + offset = 0; + length = 1;// No actual data, just a hack as this doesn't used buffered data + } + else + { + packet.Index = 2; + offset = packet.ReadByte() | packet.ReadByte() << 8 | packet.ReadByte() << 16; + packet.Index = 5; + length = packet.ReadByte(); + } + break; + case OpCodes.LayerSetLightValues: + case OpCodes.DriverLayerSetKeyValues: + packet.Index = 2; + offset = packet.ReadByte() | packet.ReadByte() << 8 | packet.ReadByte() << 16; + packet.Index = 5; + length = packet.ReadByte(); + break; + case OpCodes.LayerSetKeyPressLightingEffect: + case OpCodes.LayerSetKeyValues: + case OpCodes.LayerFnSetKeyValues: + case OpCodes.LayerSetMacros: + packet.Index = 2; + offset = packet.ReadByte() | packet.ReadByte() << 8; + packet.Index = 4; + length = packet.ReadByte(); + break; + default: + length = -1; + offset = -1; + isBufferedPacket = false; + break; + + } + if (isBufferedPacket && getBuffer) + { + packet.Index = 8; + buffer = packet.ReadBytes(length); + } + else + { + buffer = null; + } + packet.Index = tempIndex; + return isBufferedPacket; + } + } + + static BufferedPacket bufferedPacket = null; + static Queue packetQueue = new Queue(); + class QueuedPacket + { + public Packet Data; + public bool IsSend; + + public QueuedPacket(Packet packet, bool isSend) + { + Data = packet; + IsSend = isSend; + } + } + + static void ProcessSetKeys(Packet packet, bool fn) + { + for (int i = 0; i < keyboardState.MaxLogicCode; i++) + { + // NOTE: Some seems seem to be sent as -1 when they aren't assigned, it can be assumed that + // if a key exists and it's value is -1, then the default key behaviour should be used. + uint driverValue = packet.ReadUInt32(); + KeyboardState.Key key = keyboardState.GetKeyByLogicCode(i); + if (key != null) + { + DriverValueType type = KeyValues.GetKeyType(driverValue); + string additionalInfo = " (type:" + type; + if (type != DriverValueType.Macro && type != DriverValueType.TempSwitchLayer) + { + additionalInfo += " value:" + (DriverValue)driverValue; + } + switch (type) + { + case DriverValueType.Key: + if (!KeyValues.IsKeyModifier(driverValue)) + { + DriverValueModifer modifiers = KeyValues.GetKeyModifier(driverValue); + if (modifiers != DriverValueModifer.None) + { + additionalInfo += " modifiers:" + modifiers; + } + } + break; + case DriverValueType.Macro: + additionalInfo += " macroIndex:" + KeyValues.GetKeyData2(driverValue); + break; + case DriverValueType.Mouse: + additionalInfo += " button:" + KeyValues.GetMouseButton(driverValue); + break; + } + additionalInfo += ")"; + /*Log(key.KeyName + " - " + key.DriverValue.ToString("X8") + " = " + + driverValue.ToString("X8") + additionalInfo);*/ + } + else if (driverValue != KeyValues.UnusedKeyValue) + { + Log("Not found " + i + " " + driverValue.ToString("X8")); + } + } + } + + static void ProcessKeyPressLightingEffect(Packet packet) + { + // This uses a byte for each key, to denote which lighting effect to play + if (packet.Length != keyboardState.MaxLogicCode) + { + Log("Bad number of keys when processing key press light data. Expected " + keyboardState.MaxLogicCode + + " bytes, found " + packet.Length); + } + + // NOTE: The "driver" layer uses a callback id rather than using a lighting index ("driver" sends lighting realtime) + for (int i = 0; i < keyboardState.MaxLogicCode; i++) + { + byte lightingEffectIndex = packet.ReadByte(); + KeyboardState.Key key = keyboardState.GetKeyByLogicCode(i); + if (key != null) + { + if (lightingEffectIndex != 0xFF) + { + Log("Key '" + key.KeyName + "' uses lighting effect " + lightingEffectIndex); + } + } + else if (lightingEffectIndex != 0xFF) + { + Log("Key has lighting effect but failed to find the key for the index " + i + " (lighting effect index " + + lightingEffectIndex + ")"); + } + } + } + + static void ProcessBufferedPacket(Packet packet, byte op1, byte op2) + { + // NOTE: This packet doesn't include heading info, it's pure data + string directionStr = "[send-buffered]"; + //Log("[send-buffered]" + packet); + switch ((OpCodes)op1) + { + case OpCodes.DriverLayerSetKeyValues: + { + switch ((OpCodes_SetDriverLayerKeyValues)op2) + { + case OpCodes_SetDriverLayerKeyValues.KeySet: + ProcessSetKeys(packet, false); + break; + case OpCodes_SetDriverLayerKeyValues.KeySetFn: + ProcessSetKeys(packet, true); + break; + case OpCodes_SetDriverLayerKeyValues.KeyPressLightingEffect: + ProcessKeyPressLightingEffect(packet); + break; + default: + Log("Unhandled " + OpCodes.DriverLayerSetKeyValues + "." + + (OpCodes_SetDriverLayerKeyValues)packet.Opcode2 + " packet: " + packet); + break; + } + } + break; + case OpCodes.DriverLayerUpdateRealtimeLighting: + { + switch ((OpCodes_DriverLayerUpdateRealtimeLighting)op2) + { + case OpCodes_DriverLayerUpdateRealtimeLighting.Update: + { + // Realtime lighting is hard coded to use 132 lighting values + if (packet.Length != 560)// Seems to be padded to the 0x38 byte boundry + { + Log("Realtime lighting ('driver' layer) has a bad length. Expected: " + + (132 * 4) + " actual: " + packet.Length + " packet: " + packet); + } + else + { + for (int i = 0; i < 132; i++) + { + int val = packet.ReadInt32(); + packet.Index -= 4; + + byte red = packet.ReadByte(); + byte green = packet.ReadByte(); + byte blue = packet.ReadByte(); + byte alpha = packet.ReadByte(); + + if (val != 0) + { + KeyboardState.Key key = keyboardState.GetKeyAtLocationCode(i); + if (key != null) + { + //Log(key.KeyName + " " + val.ToString("X8")); + } + } + } + } + } + break; + case OpCodes_DriverLayerUpdateRealtimeLighting.UpdateComplete: + EnsureRemainingPacketIsEmpty(packet, directionStr); + break; + default: + Log("Unhandled " + OpCodes.DriverLayerUpdateRealtimeLighting + "." + + (OpCodes_DriverLayerUpdateRealtimeLighting)packet.Opcode2 + " packet: " + packet); + break; + } + } + break; + case OpCodes.LayerSetKeyValues: + case OpCodes.LayerFnSetKeyValues: + { + ProcessSetKeys(packet, (OpCodes)op1 == OpCodes.LayerFnSetKeyValues); + } + break; + case OpCodes.LayerSetKeyPressLightingEffect: + { + ProcessKeyPressLightingEffect(packet); + } + break; + case OpCodes.LayerSetMacros: + { + // NOTE: the "driver" mode uses callbacks with "18 01" rather than sending the macro data to the keyboard + + const int macroElementLength = 8; + const int maxMacroElements = 63; + const int padding = 8; + const int totalLen = (macroElementLength * maxMacroElements) + padding; + if (packet.Length % totalLen != 0) + { + Log("Invalid macro packet(" + packet.Length + "/" + totalLen + "): " + packet); + } + else + { + int numMacros = packet.Length / totalLen; + for (int i = 0; i < numMacros; i++) + { + /*using (Packet p = new Packet(true, packet.ReadBytes(64 * 8))) + { + Log("Macro: " + p); + packet.Index -= p.Length; + }*/ + + ushort macroMagic = packet.ReadUInt16(); + if (macroMagic != 21930) + { + // 21930 / 0x55AA / AA 55 + Log("Macro has invalid magic value: " + macroMagic + " expected: " + 21930); + } + + // Crc over all bytes up until the first zero element (starting at offset 8) + ushort macroCrc = packet.ReadUInt16(); + int tempIndex = packet.Index; + packet.Skip(4); + int calculatedIntCount = 0; + while (packet.ReadInt32() != 0) { calculatedIntCount++; } + packet.Index = tempIndex + 4; + byte[] buff = packet.ReadBytes(calculatedIntCount * 4); + ushort calculatedMacroCrc = Crc16.GetCrc(buff); + if (calculatedMacroCrc != macroCrc) + { + Log("Invalid macro crc: " + calculatedMacroCrc + " expected: " + macroCrc + " " + Packet.ToHexString(buff)); + } + packet.Index = tempIndex; + + byte intCount = packet.ReadByte(); + if (intCount != calculatedIntCount) + { + Log("Macro element int count is incorrect: " + intCount + " expected: " + calculatedIntCount); + } + + // The index of the macro (should generally increment by 1 for each macro found) + byte macroIndex = packet.ReadByte(); + + // Specifies how the macro should be repeated based on input + // NOTE: The "driver" software implementation is pretty dumb in that the "macro setting" which looks like it's + // done per key is actually done per macro (and impacts all keys which use that macro). + MacroRepeatType repeatType = (MacroRepeatType)packet.ReadByte(); + byte repeatCount = packet.ReadByte();// Only used by "RepeatXTimes"? + + Log("Macro index:" + macroIndex + " repeatType:" + repeatType + " repeatCount:" + repeatCount); + + for (int j = 0; j < maxMacroElements; j++) + { + if (packet.ReadInt64() == 0) + { + continue; + } + packet.Index -= 8; + + /*using (Packet p = new Packet(true, packet.ReadBytes(8))) + { + Log("Macro element: " + p); + packet.Index -= p.Length; + }*/ + + // NOTE: Modifiers appear as seperate entries (rather than being an additonal flag to a key) + byte keyCode = packet.ReadByte(); + string keyCodeStr = keyCode.ToString(); + DriverValueModifer modifier = (DriverValueModifer)packet.ReadByte(); + MacroKeyState keyState = (MacroKeyState)packet.ReadByte(); + MacroKeyType keyType = (MacroKeyType)packet.ReadByte(); + if (keyType == MacroKeyType.Key) + { + if (modifier != DriverValueModifer.None) + { + keyCodeStr = modifier.ToString(); + } + else + { + uint driverValue; + if (KeyValues.ShortToLongDriverValues.TryGetValue(keyCode, out driverValue)) + { + keyCodeStr = ((DriverValue)driverValue).ToString(); + } + } + } + else if (keyType == MacroKeyType.Mouse) + { + keyCodeStr = ((DriverValueMouseButton)keyCode).ToString(); + } + Log("Key:" + keyCodeStr + " type:" + keyType + " state:" + keyState); + + int delayInfo = packet.ReadInt32(); + if (delayInfo != 0) + { + packet.Index -= 4; + ushort delay = packet.ReadUInt16();// Up to 65535 milliseconds? (65.5 seconds) + + byte elmUnk1 = packet.ReadByte();// Always 0? + byte elmUnk2 = packet.ReadByte();// Always 3? + if (elmUnk1 != 0) + { + Log("Macro unk1: " + elmUnk1); + } + if (elmUnk2 != 3) + { + Log("Macro unk2: " + elmUnk2); + } + } + } + } + } + } + break; + case OpCodes.LayerSetLightValues: + { + // Up to 32 lighting effects (this includes static "DIY" lighting) + for (int i = 0; i < 32; i++) + { + // Not the best naming. These are just two blocks of data. + // For animations the first block contains the frames, the 2nd contains the key light colors. + int lightingDataOffset = packet.ReadInt32(); + int lightingDataCount = packet.ReadInt32(); + int lightingParamsOffset = packet.ReadInt32(); + int lightingParamsCount = packet.ReadInt32(); + int tempIndex = packet.Index; + if (lightingDataCount > 0) + { + packet.Index = lightingDataOffset; + for (int j = 0; j < lightingDataCount; j++) + { + LightingEffectType lightingDataType = (LightingEffectType)packet.ReadInt16(); + ushort lightingDataLen = packet.ReadUInt16(); + int tempIndex2 = packet.Index; + switch (lightingDataType) + { + case LightingEffectType.Static:// Static RGB lighting (per key) + for (int k = 0; k < lightingDataLen / 4; k++) + { + byte red = packet.ReadByte(); + byte green = packet.ReadByte(); + byte blue = packet.ReadByte(); + byte alpha = packet.ReadByte(); + if (alpha > 0) + { + KeyboardState.Key key = keyboardState.GetKeyAtLocationCode(k); + if (key != null) + { + if (logLightingDIY) + { + Log("KeyDIY '" + key.KeyName + "' (" + k + ") #" + red.ToString("X2") + + green.ToString("X2") + blue.ToString("X2") + " alpha: " + alpha); + } + } + else + { + Log("Couldn't find key from lighting data at location code " + k); + } + } + } + break; + case LightingEffectType.Dynamic:// Lighting effect file (frames of lighting) + { + /*using (Packet p = new Packet(true, packet.ReadBytes(lightingDataLen))) + { + Log("Frame: " + p); + packet.Index -= p.Length; + }*/ + + // Each frame is a bit buffer of keys which are used by the frame + byte[] bitBuffer = packet.ReadBytes(22); + bool[] bits = BitHelper.BytesToBits(bitBuffer); + for (int k = 0; k < bits.Length; k++) + { + if (bits[k]) + { + KeyboardState.Key key = keyboardState.GetKeyAtLocationCode(k); + if (key != null) + { + //Log("Frame key '" + key.KeyName + "' (" + k + ")"); + } + else + { + //Log("Couldn't find key for lighting frame at location code " + k); + } + } + } + } + break; + default: + Log("Unhandled lighting data type " + lightingDataType); + break; + } + packet.Index = tempIndex2 + lightingDataLen; + } + } + if (lightingParamsCount > 0) + { + packet.Index = lightingParamsOffset; + for (int j = 0; j < lightingParamsCount; j++) + { + /*using (Packet p = new Packet(true, packet.ReadBytes(32))) + { + Log("Params: " + p); + packet.Index -= p.Length; + }*/ + + // Monochrome, RGB, Breathing + LightingEffectColorType lightingEffect = (LightingEffectColorType)packet.ReadByte(); + + byte unk1 = packet.ReadByte();// Always 32 / 0x20? the size of the param buffer? + if (unk1 != 32) + { + Log("Unknown value in lighting parameter data: " + unk1 + " (expected 32) data: " + packet); + } + + // Bit buffer of the keys which have this effect applied (key location codes) + byte[] bitBuffer = packet.ReadBytes(22); + if (bitBuffer != null) + { + bool[] bits = BitHelper.BytesToBits(bitBuffer); + for (int k = 0; k < bits.Length; k++) + { + if (bits[k]) + { + KeyboardState.Key key = keyboardState.GetKeyAtLocationCode(k); + if (key != null) + { + //Log("LE key '" + key.KeyName + "' (" + k + ")"); + } + else + { + //Log("Couldn't find key from lighting params data at location code " + k); + } + } + } + } + + byte red = packet.ReadByte(); + byte green = packet.ReadByte(); + byte blue = packet.ReadByte(); + packet.ReadByte();// alpha (unused?) + + short param1 = packet.ReadInt16(); + short param2 = packet.ReadInt16(); + + // "parameter" values use integer division to get their real value, so many produce the same result + switch (lightingEffect) + { + case LightingEffectColorType.RGB: + // RGB doesn't use param2 + /*short originalParam = param1 > 0 ? (short)(360 / param1) : (short)360; + Log("Parameter value (" + lightingEffect + ") original:" + originalParam + + " actual:" + param1 + " param2(unused):" + param2);*/ + break; + case LightingEffectColorType.Monochrome: + // Monochrome doesn't use either parameter + /*Log("Parameter value (" + lightingEffect + ") param1(unused):" + param1 + + " param2(unused):" + param2);*/ + break; + case LightingEffectColorType.Breathing: + // The breathing params in the UI are reordered based on the largest value + /*short originalParam1 = param1 > 0 ? (short)(100 / param1) : (short)100; + short originalParam2 = param2; + Log("Parameter value (" + lightingEffect + ") original " + originalParam2 + + " - " + originalParam1 + " actual: " + param2 + " - " + param1);*/ + break; + default: + Log("Unhandled lighting effect " + lightingEffect); + break; + } + /*Log("Param " + lightingEffect + " #" + red.ToString("X2") + + green.ToString("X2") + blue.ToString("X2"));*/ + } + } + + packet.Index = tempIndex; + } + + Log("Change lighting values!"); + } + break; + } + } + + static void ProcessPacket(Packet data, bool isSend) + { + // Do the work in another thread (as we need access to Log functions, we can't access whilst inside + // the WriteFile hook in C# (even if we change the code path... .NET Framework issues I assume?) + lock (packetQueue) + { + packetQueue.Enqueue(new QueuedPacket(data, isSend)); + } + ThreadPool.QueueUserWorkItem((object state) => + { + QueuedPacket queuedPacket = null; + lock (packetQueue) + { + if (packetQueue.Count > 0) + { + queuedPacket = packetQueue.Dequeue(); + } + while (queuedPacket != null) + { + Packet packet = queuedPacket.Data; + string directionStr = queuedPacket.IsSend ? "[send] " : "[recv] "; + + if (!Crc16.ValidateCrc(packet.GetBuffer())) + { + Log(directionStr + "failed to validate crc! Packet: " + packet); + } + + if (queuedPacket.IsSend) + { + //Log(directionStr + packet); + + if (bufferedPacket != null) + { + bufferedPacket.Append(packet); + if (bufferedPacket.IsComplete) + { + using (Packet p = new Packet(true, bufferedPacket.Data)) + { + byte op1 = (byte)bufferedPacket.Opcode; + byte op2 = (byte)(bufferedPacket.Opcode >> 8); + ProcessBufferedPacket(p, op1, op2); + } + bufferedPacket = null; + } + } + if (bufferedPacket == null && BufferedPacket.IsBufferedPacket(packet)) + { + bufferedPacket = new BufferedPacket(packet); + } + if (bufferedPacket == null) + { + packet.Index = 8; + switch ((OpCodes)packet.Opcode1) + { + case OpCodes.Info: + { + switch ((OpCodes_Info)packet.Opcode2) + { + case OpCodes_Info.InitBuffers: + case OpCodes_Info.FirmwareId: + case OpCodes_Info.ModelId: + case OpCodes_Info.Unk_02: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + } + } + break; + case OpCodes.Ping: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.SetLayer: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + Log(directionStr + "Request to change to keyboard layer '" + (KeyboardLayer)packet.Opcode2 + "'"); + } + break; + case OpCodes.DriverMacro: + { + switch ((OpCodes_DriverMacro)packet.Opcode2) + { + case OpCodes_DriverMacro.BeginEnd: + bool beginMacro = packet.ReadByte() != 0; + Log("Macro " + (beginMacro ? "begin" : "end")); + EnsureRemainingPacketIsEmpty(packet, directionStr); + break; + case OpCodes_DriverMacro.MouseState: + DriverValueMouseButton mouseState = (DriverValueMouseButton)packet.ReadByte(); + Log("Macro mouse: " + mouseState); + EnsureRemainingPacketIsEmpty(packet, directionStr); + break; + case OpCodes_DriverMacro.KeyboardState: + DriverValueModifer modifiers = (DriverValueModifer)packet.ReadByte(); + List pressedKeysDriverValues = new List(); + byte key; + while ((key = packet.ReadByte()) != 0) + { + uint driverValue; + KeyValues.ShortToLongDriverValues.TryGetValue(key, out driverValue); + pressedKeysDriverValues.Add((DriverValue)driverValue); + } + Log("Macro keys: " + string.Join(",", pressedKeysDriverValues.Select(x => x.ToString())) + + " modifiers: " + modifiers); + break; + } + } + break; + case OpCodes.DriverLayerSetConfig: + { + packet.Skip(9); + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.LayerResetDataType: + { + KeyboardLayer layer = (KeyboardLayer)packet.Opcode2; + // This packet uses index 3 for the data type (usually this is a packet data offset) + packet.Index = 3; + KeyboardLayerDataType dataType = (KeyboardLayerDataType)packet.ReadByte(); + packet.Index = 8; + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + default: + Log(directionStr + "Unhandled opcode. Packet: " + packet); + break; + } + } + } + else + { + //Log(directionStr + packet); + + packet.Index = 0; + byte op1 = packet.ReadByte(); + byte op2 = packet.ReadByte(); + + packet.Index = 2; + byte returnCode = packet.ReadByte(); + bool requiresReturnCode = false; + bool canBeZeroReturnCode = false; + switch ((OpCodes)op1) + { + case OpCodes.Info: + switch (op2) + { + case 1: + case 2: + case 8: + case 9: + requiresReturnCode = true; + break; + } + break; + case OpCodes.RestartKeyboard: + switch (op2) + { + case 2: + requiresReturnCode = true; + break; + } + break; + case OpCodes.DriverMacro: + switch (op2) + { + case 1: + case 2: + case 3: + case 4: + requiresReturnCode = true; + break; + } + break; + case OpCodes.DriverLayerSetKeyValues: + requiresReturnCode = true; + break; + case OpCodes.DriverLayerUpdateRealtimeLighting: + switch (op2) + { + case 1: + case 2: + requiresReturnCode = true; + canBeZeroReturnCode = true; + break; + } + break; + case OpCodes.DriverKeyCallback: + // Return code 00-FF ? + requiresReturnCode = true; + canBeZeroReturnCode = true; + break; + } + if (requiresReturnCode && returnCode == 0 && !canBeZeroReturnCode) + { + Log(directionStr + "return code 0 where return code 1 was expected. Packet: " + packet); + } + else if (!requiresReturnCode && returnCode != 0) + { + Log(directionStr + "this packet is flagged as with a return code, but isn't being handled as such. Packet: " + packet); + } + + // These are used in "04 XX" + packet.Index = 3; + bool hasStateData1 = false; + byte stateData = packet.ReadByte(); + switch ((OpCodes)op1) + { + case OpCodes.DriverKeyCallback: + hasStateData1 = true; + break; + } + if (stateData != 0 && !hasStateData1) + { + Log(directionStr + "this packet has state data, but isn't being handled as such. Packet: " + packet); + } + if (packet.ReadUInt16() != 0) + { + Log(directionStr + "TODO: Handle buffered packets coming from the keyboard. Packet: " + packet); + } + + packet.Index = 8; + + switch ((OpCodes)packet.Opcode1) + { + case OpCodes.Info: + { + switch ((OpCodes_Info)packet.Opcode2) + { + case OpCodes_Info.InitBuffers: + { + // Max logic code = a*b + keyboardBufferSizeA = packet.ReadByte();// 0E on GK84 + keyboardBufferSizeB = packet.ReadByte();// 08 on GK84 + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes_Info.FirmwareId: + { + keyboardFirmwareId = packet.ReadUInt32(); + keyboardFirmwareMinorVersion = packet.ReadByte(); + keyboardFirmwareMajorVersion = packet.ReadByte(); + EnsureRemainingPacketIsEmpty(packet, directionStr); + Log("FirmwareId: 0x" + keyboardFirmwareId.ToString("X8") + " version: " + + keyboardFirmwareMajorVersion + "." + keyboardFirmwareMajorVersion + + " (see modellist.json)"); + } + break; + case OpCodes_Info.ModelId: + { + uint modelId = packet.ReadUInt32(); + // crcValidation1 doesn't seem to be used for much (it's always FF FF?) crcValidation1 is the + // actual crc of modelId+crcValidation1 + ushort crcValidation1 = packet.ReadUInt16();// always FF FF? + ushort crcValidation2 = packet.ReadUInt16(); + EnsureRemainingPacketIsEmpty(packet, directionStr); + Log("ModelId: " + modelId + " (see profile.json based on your FWID)"); + + keyboardState = KeyboardState.GetKeyboardState(modelId); + if (keyboardState == null) + { + Log("Failed to find keyboard for modelid " + modelId + "!"); + } + keyboardState.FirmwareMajorVersion = keyboardFirmwareMinorVersion; + keyboardState.FirmwareMinorVersion = keyboardFirmwareMajorVersion; + keyboardState.InitializeBuffers(keyboardBufferSizeA, keyboardBufferSizeB); + } + break; + case OpCodes_Info.Unk_02: + { + int unk = packet.ReadInt32();// always -1? + // crcValidation1 doesn't seem to be used for much (it's always FF FF?) crcValidation1 is the + // actual crc of unk+crcValidation1 + // NOTE: This crc validation always fails as far as I can tell, I assume it's because unk is always -1 + ushort crcValidation1 = packet.ReadUInt16();// always FF FF? + ushort crcValidation2 = packet.ReadUInt16(); + EnsurePacketValue(unk, -1, packet, directionStr); + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + } + } + break; + case OpCodes.Ping: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.SetLayer: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + Log(directionStr + "Change to keyboard layer '" + (KeyboardLayer)packet.Opcode2 + "'"); + } + break; + case OpCodes.DriverMacro: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.DriverLayerSetKeyValues: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.DriverLayerSetConfig: + { + packet.Skip(8);// The send PC->KB packet has 1 more byte (9 total) + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.DriverLayerUpdateRealtimeLighting: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + case OpCodes.DriverKeyCallback: + { + packet.Index = 2; + // Callbacks belongs to either a macro or a shortcut (opening a program, file, etc) + byte callbackId = packet.ReadByte(); + bool callbackKeyDown = packet.ReadByte() != 0; + Log("Macro/shortcut callback " + (callbackKeyDown ? "keyDown" : "keyUp") + " id:" + callbackId); + } + break; + case OpCodes.LayerResetDataType: + case OpCodes.LayerSetKeyValues: + case OpCodes.LayerSetLightValues: + case OpCodes.LayerSetMacros: + { + EnsureRemainingPacketIsEmpty(packet, directionStr); + } + break; + default: + //Log(directionStr + "Unhandled opcode. Packet: " + packet); + break; + } + } + + packet.Dispose(); + queuedPacket = null; + if (packetQueue.Count > 0) + { + queuedPacket = packetQueue.Dequeue(); + } + } + } + }); + } + + static void EnsureRemainingPacketIsEmpty(Packet packet, string directionStr) + { + byte[] buffer = packet.GetBuffer(); + for (int i = packet.Index; i < packet.Length; i++) + { + if (buffer[i] != 0) + { + Log(directionStr + "Packet has unhandled data. Packet: " + packet); + break; + } + } + } + + static void EnsurePacketValue(T value, T expected, Packet packet, string directionStr) where T : IEquatable + { + if (!value.Equals(expected)) + { + Log(directionStr + "[ERROR] Expected value '" + expected + "' got '" + value + "' in packet: " + packet); + } + } + + static void Ensure65BytePacketStarts00(IntPtr ptr) + { + byte val = *(byte*)ptr; + if (val != 0) + { + ThreadPool.QueueUserWorkItem((object state) => + { + Log("65 byte length packet doesn't start with 0!!!!! Starts with: " + val); + }); + } + } + + static void UpdateCurrentDevice(IntPtr hFile) + { + if (currentDevice == IntPtr.Zero && Hook.IsKnownDevice(hFile)) + { + currentDevice = hFile; + + // Run this another thread due to issues with hooks / .NET + ThreadPool.QueueUserWorkItem((object state) => + { + Log("Found device! Handle: " + hFile); + }); + } + } + + static bool OnWriteFile(IntPtr hFile, IntPtr lpBuffer, int nNumberOfBytesToWrite, out int lpNumberOfBytesWritten, IntPtr lpOverlapped) + { + // Don't use Log in here (or other file IO operations) + bool result = writeFileOriginal(hFile, lpBuffer, nNumberOfBytesToWrite, out lpNumberOfBytesWritten, lpOverlapped); + + UpdateCurrentDevice(hFile); + if (currentDevice == hFile) + { + if (nNumberOfBytesToWrite == 65) + { + Ensure65BytePacketStarts00(lpBuffer); + byte[] buffer = new byte[64]; + Marshal.Copy(lpBuffer + 1, buffer, 0, buffer.Length); + ProcessPacket(new Packet(true, buffer), true); + } + else + { + ThreadPool.QueueUserWorkItem((object state) => + { + Log("[send] TODO: Handle data of length " + nNumberOfBytesToWrite); + }); + } + } + + return result; + } + + static bool OnReadFile(IntPtr hFile, IntPtr lpBuffer, int nNumberOfBytesToRead, out int lpNumberOfBytesRead, IntPtr lpOverlapped) + { + bool result = readFileOriginal(hFile, lpBuffer, nNumberOfBytesToRead, out lpNumberOfBytesRead, lpOverlapped); + UpdateCurrentDevice(hFile); + + if (currentDevice == hFile) + { + if (lpNumberOfBytesRead > 0) + { + ProcessReadBuffer(lpBuffer, lpNumberOfBytesRead, false); + } + else + { + // NOTE: This will break down if two threads are making reads. However, as far as I can tell this never happens. + lastReadFileOverlappedPtr = lpOverlapped; + lastReadFileBufferPtr = lpBuffer; + } + } + + return result; + } + + static bool OnGetOverlappedResult(IntPtr hFile, IntPtr lpOverlapped, out int lpNumberOfBytesTransferred, bool bWait) + { + bool success = getOverlappedResultOriginal(hFile, lpOverlapped, out lpNumberOfBytesTransferred, bWait); + if (success && lpNumberOfBytesTransferred > 0 && currentDevice == hFile && lpOverlapped == lastReadFileOverlappedPtr) + { + ProcessReadBuffer(lastReadFileBufferPtr, lpNumberOfBytesTransferred, true); + } + return success; + } + + static void ProcessReadBuffer(IntPtr lpBuffer, int numBytes, bool overlapped) + { + if (numBytes == 65) + { + Ensure65BytePacketStarts00(lpBuffer); + byte[] buffer = new byte[64]; + Marshal.Copy(lpBuffer + 1, buffer, 0, buffer.Length); + ProcessPacket(new Packet(true, buffer), false); + } + else + { + ThreadPool.QueueUserWorkItem((object state) => + { + Log("[recv] TODO: Handle data of length " + numBytes); + }); + } + } + + static IntPtr OnCreateFileW([MarshalAs(UnmanagedType.LPWStr)] string lpFileName, int dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, IntPtr hTemplateFile) + { + if (numSkippedCreateFileCalls < numSkipCreateFileCalls) + { + // NOTE: This is super slow due to this suspending / resuming all threads + Hook.WL_DisableHook(kernel32_createFileW); + } + + // Don't use Log in here (or other file IO operations) + IntPtr result = createFileWOriginal(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); + + const string hidGuid = "4D1E55B2-F16F-11CF-88CB-001111000030";// Registry where all devices tagged as HID belong + if (result != IntPtr.Zero && !string.IsNullOrEmpty(lpFileName) && lpFileName.ToUpper().Contains(hidGuid)) + { + /*string manufacturer = Interop.GetManufacturerString(result); + string product = Interop.GetProductString(result); + Console.WriteLine(lpFileName + " | " + manufacturer + " | " + product);*/ + + ushort[] productIds; + Interop.HIDD_ATTRIBUTES attributes; + if (Interop.HidD_GetAttributes(result, out attributes) && + KeyboardDeviceManager.knownProducts.TryGetValue(attributes.VendorID, out productIds) && + productIds.Contains(attributes.ProductID)) + { + IntPtr ptr; + if (Interop.HidD_GetPreparsedData(result, out ptr)) + { + Interop.HIDP_CAPS caps; + if (Interop.HidP_GetCaps(ptr, out caps)) + { + // Do we care about Usage/UsagePage? + ushort inputReportLen = caps.InputReportByteLength; + ushort ouputReportLen = caps.OutputReportByteLength; + if (showConsole) + { + //Console.WriteLine("Found device! Data length (send / recv): " + ouputReportLen + " / " + inputReportLen); + } + Hook.OnDeviceHandle(result, true); + } + Interop.HidD_FreePreparsedData(ptr); + } + } + } + + if (numSkippedCreateFileCalls < numSkipCreateFileCalls) + { + Hook.WL_EnableHook(kernel32_createFileW); + numSkippedCreateFileCalls++; + } + + return result; + } + + static object logLocker = new object(); + private static void Log(string msg) + { + lock (logLocker) + { + if (showConsole) + { + Console.WriteLine(msg); + } + System.IO.File.AppendAllText("CommandLogger.txt", "[" + DateTime.Now.TimeOfDay + "] " + msg + Environment.NewLine); + } + } + + public static int DllMain(string arg) + { + if (showConsole) + { + ConsoleHelper.ShowConsole(); + } + + if (!Localization.Load()) + { + Log("Failed to load localization data"); + } + if (!KeyValues.Load()) + { + Log("Failed to load the key data"); + } + if (!KeyboardState.Load()) + { + Log("Failed to load keyboard data"); + } + + // This needs to be done to avoid recurssion issues in the .NET Framework + BindingFlags staticMethodFlags = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; + RuntimeHelpers.PrepareMethod(typeof(CommandLogger).GetMethod("OnCreateFileW", staticMethodFlags).MethodHandle); + + Hook.WL_InitHooks(); + + IntPtr kernel32 = Interop.GetModuleHandle("Kernel32.dll"); + IntPtr kernel32_writeFile = Interop.GetProcAddress(kernel32, "WriteFile"); + IntPtr kernel32_readFile = Interop.GetProcAddress(kernel32, "ReadFile"); + IntPtr kernel32_getOverlappedResult = Interop.GetProcAddress(kernel32, "GetOverlappedResult"); + kernel32_createFileW = Interop.GetProcAddress(kernel32, "CreateFileW"); + + writeFileHook = OnWriteFile; + writeFileHookPtr = Marshal.GetFunctionPointerForDelegate(writeFileHook); + Hook.WL_CreateHook(kernel32_writeFile, writeFileHookPtr, ref writeFileOriginalPtr); + writeFileOriginal = (WriteFileDelegate)Marshal.GetDelegateForFunctionPointer(writeFileOriginalPtr, typeof(WriteFileDelegate)); + Hook.WL_EnableHook(kernel32_writeFile); + + readFileHook = OnReadFile; + readFileHookPtr = Marshal.GetFunctionPointerForDelegate(readFileHook); + Hook.WL_CreateHook(kernel32_readFile, readFileHookPtr, ref readFileOriginalPtr); + readFileOriginal = (ReadFileDelegate)Marshal.GetDelegateForFunctionPointer(readFileOriginalPtr, typeof(ReadFileDelegate)); + Hook.WL_EnableHook(kernel32_readFile); + + getOverlappedResultHook = OnGetOverlappedResult; + getOverlappedResultHookPtr = Marshal.GetFunctionPointerForDelegate(getOverlappedResultHook); + Hook.WL_CreateHook(kernel32_getOverlappedResult, getOverlappedResultHookPtr, ref getOverlappedResultOriginalPtr); + getOverlappedResultOriginal = (GetOverlappedResultDelegate)Marshal.GetDelegateForFunctionPointer(getOverlappedResultOriginalPtr, typeof(GetOverlappedResultDelegate)); + Hook.WL_EnableHook(kernel32_getOverlappedResult); + + // We can't hook CloseHandle from C# due to .NET Framework issues... can't callback to C# from C++ either + Hook.HookCloseHandle(out currentDeviceAddr); + + createFileWHook = OnCreateFileW; + createFileWHookPtr = Marshal.GetFunctionPointerForDelegate(createFileWHook); + Hook.WL_CreateHook(kernel32_createFileW, createFileWHookPtr, ref createFileWOriginalPtr); + createFileWOriginal = (CreateFileWDelegate)Marshal.GetDelegateForFunctionPointer(createFileWOriginalPtr, typeof(CreateFileWDelegate)); + Hook.WL_EnableHook(kernel32_createFileW); + + Log("Fully initialized hooks"); + + return 0; + } + + public static void Run() + { + //ProcessLauncher.Inject(); + ProcessLauncher.Launch(); + } + + static class Hook + { + [DllImport(loaderDll)] + public static extern int WL_InitHooks(); + [DllImport(loaderDll)] + public static extern int WL_HookFunction(IntPtr target, IntPtr detour, ref IntPtr original); + [DllImport(loaderDll)] + public static extern int WL_CreateHook(IntPtr target, IntPtr detour, ref IntPtr original); + [DllImport(loaderDll)] + public static extern int WL_RemoveHook(IntPtr target); + [DllImport(loaderDll)] + public static extern int WL_EnableHook(IntPtr target); + [DllImport(loaderDll)] + public static extern int WL_DisableHook(IntPtr target); + + [DllImport(loaderDll)] + public static extern void HookCloseHandle(out IntPtr currentDeviceAddr); + [DllImport(loaderDll)] + public static extern void OnDeviceHandle(IntPtr handle, bool add); + [DllImport(loaderDll)] + public static extern bool IsKnownDevice(IntPtr handle); + } + + unsafe class Interop + { + [DllImport("kernel32.dll", SetLastError = true)] + public static extern IntPtr GetModuleHandle(string lpModuleName); + + [DllImport("kernel32.dll", SetLastError = true)] + public static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName); + + [DllImport("hid.dll")] + public static extern bool HidD_GetManufacturerString(IntPtr hidDeviceObject, IntPtr buffer, uint bufferLength); + + [DllImport("hid.dll")] + public static extern bool HidD_GetProductString(IntPtr hidDeviceObject, IntPtr buffer, uint bufferLength); + + [DllImport("hid.dll")] + public static extern bool HidD_GetAttributes(IntPtr hidDeviceObject, out HIDD_ATTRIBUTES attributes); + + [DllImport("hid.dll")] + public static extern bool HidD_GetPreparsedData(IntPtr hidDeviceObject, out IntPtr parsedData); + + [DllImport("hid.dll")] + public static extern bool HidD_FreePreparsedData(IntPtr parsedData); + + [DllImport("hid.dll")] + public static extern bool HidP_GetCaps(IntPtr hidDeviceObject, out HIDP_CAPS caps); + + [StructLayout(LayoutKind.Sequential)] + public struct HIDD_ATTRIBUTES + { + public uint Size; + public ushort VendorID; + public ushort ProductID; + public ushort VersionNumber; + } + + [StructLayout(LayoutKind.Sequential)] + public unsafe struct HIDP_CAPS + { + public ushort Usage; + public ushort UsagePage; + public ushort InputReportByteLength; + public ushort OutputReportByteLength; + public ushort FeatureReportByteLength; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)] + public ushort[] Reserved; + public ushort NumberLinkCollectionNodes; + public ushort NumberInputButtonCaps; + public ushort NumberInputValueCaps; + public ushort NumberInputDataIndices; + public ushort NumberOutputButtonCaps; + public ushort NumberOutputValueCaps; + public ushort NumberOutputDataIndices; + public ushort NumberFeatureButtonCaps; + public ushort NumberFeatureValueCaps; + public ushort NumberFeatureDataIndices; + } + + const int stringBufferLen = 512;// TODO: Find out the real limit on these strings (maybe malloc instead of alloca) + + public static string GetManufacturerString(IntPtr handle) + { + byte* buffer = stackalloc byte[stringBufferLen]; + HidD_GetManufacturerString(handle, (IntPtr)buffer, stringBufferLen); + return Marshal.PtrToStringUni((IntPtr)buffer); + } + + public static string GetProductString(IntPtr handle) + { + byte* buffer = stackalloc byte[stringBufferLen]; + HidD_GetProductString(handle, (IntPtr)buffer, stringBufferLen); + return Marshal.PtrToStringUni((IntPtr)buffer); + } + } + + class ProcessLauncher + { + // This injects a dll before the exe entry point runs. + // TODO: Fix a crash which sometimes occurs. + + public static void Inject() + { + Process[] processes = null; + Dictionary injectedProcesses = new Dictionary(); + HashSet closesProcesses = new HashSet(); + + try + { + processes = Process.GetProcessesByName(targetProcessName); + foreach (Process process in processes) + { + try + { + FileInfo fileInfo = new FileInfo(process.MainModule.FileName); + if (fileInfo.Exists && File.Exists(Path.Combine(fileInfo.Directory.FullName, someFileInTargetProcessFolder))) + { + if (!injectedProcesses.ContainsKey(process.Id)) + { + bool alreadyInjected = false; + foreach (ProcessModule processModule in process.Modules) + { + if (processModule.ModuleName.Equals(loaderDll, StringComparison.OrdinalIgnoreCase)) + { + alreadyInjected = true; + break; + } + } + + if (!alreadyInjected && DllInjector.Inject(process, loaderDll)) + { + injectedProcesses[process.Id] = process; + Console.WriteLine("Injected into " + process.Id); + } + } + } + } + catch + { + } + } + + while (injectedProcesses.Count != closesProcesses.Count) + { + foreach (KeyValuePair process in injectedProcesses) + { + try + { + if (!closesProcesses.Contains(process.Key) && process.Value.HasExited) + { + closesProcesses.Add(process.Key); + } + } + catch + { + closesProcesses.Add(process.Key); + } + } + Thread.Sleep(1000); + } + } + finally + { + if (processes != null) + { + foreach (Process process in processes) + { + try + { + process.Close(); + } + catch + { + } + } + } + } + } + + public static unsafe bool Launch() + { + string exePath = targetProcessNameEx; + if (!File.Exists(exePath)) + { + return false; + } + + STARTUPINFO si = default(STARTUPINFO); + PROCESS_INFORMATION pi = default(PROCESS_INFORMATION); + + try + { + bool success = CreateProcess(exePath, null, IntPtr.Zero, IntPtr.Zero, false, DEBUG_ONLY_THIS_PROCESS, IntPtr.Zero, null, ref si, out pi); + if (!success) + { + return false; + } + + IntPtr entryPoint = IntPtr.Zero; + byte[] entryPointInst = new byte[2]; + + success = false; + bool complete = false; + while (!complete) + { + DEBUG_EVENT debugEvent; + if (!WaitForDebugEvent(out debugEvent, 5000)) + { + break; + } + + switch (debugEvent.dwDebugEventCode) + { + case CREATE_PROCESS_DEBUG_EVENT: + { + IntPtr hFile = debugEvent.CreateProcessInfo.hFile; + if (hFile != IntPtr.Zero && hFile != INVALID_HANDLE_VALUE) + { + CloseHandle(hFile); + } + } + break; + case EXIT_PROCESS_DEBUG_EVENT: + complete = true; + break; + case LOAD_DLL_DEBUG_EVENT: + { + LOAD_DLL_DEBUG_INFO loadDll = debugEvent.LoadDll; + + StealEntryPointResult stealResult = TryStealEntryPoint(ref pi, ref entryPoint, entryPointInst); + switch (stealResult) + { + case StealEntryPointResult.FailGetModules: + // Need to wait for more modules to load + break; + case StealEntryPointResult.FailAlloc: + case StealEntryPointResult.FailRead: + case StealEntryPointResult.FailWrite: + //case StealEntryPointResult.FailFindTargetModule:// removed this check - module can take a while to appear + complete = true; + entryPoint = IntPtr.Zero; + break; + case StealEntryPointResult.Success: + complete = true; + break; + } + + IntPtr hFile = loadDll.hFile; + if (hFile != IntPtr.Zero && hFile != INVALID_HANDLE_VALUE) + { + CloseHandle(hFile); + } + } + break; + } + + ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE); + } + + success = false; + + DebugSetProcessKillOnExit(false); + DebugActiveProcessStop((int)pi.dwProcessId); + + if (entryPoint != IntPtr.Zero) + { + CONTEXT86 context86 = default(CONTEXT86); + context86.ContextFlags = CONTEXT_FLAGS.CONTROL; + GetThreadContext(pi.hThread, ref context86); + + for (int i = 0; i < 100 && context86.Eip != (ulong)entryPoint; i++) + { + Thread.Sleep(50); + + context86.ContextFlags = CONTEXT_FLAGS.CONTROL; + GetThreadContext(pi.hThread, ref context86); + } + + // If we are at the entry point inject the dll and then restore the entry point instructions + if (context86.Eip == (ulong)entryPoint && DllInjector.Inject(pi.hProcess, loaderDll)) + { + Thread.Sleep(500);//add a delay as our C# code gets loaded on a seperate thread which can delay hooks + SuspendThread(pi.hThread); + + IntPtr byteCount; + if (WriteProcessMemory(pi.hProcess, entryPoint, entryPointInst, (IntPtr)2, out byteCount) && (int)byteCount == 2) + { + success = true; + } + + ResumeThread(pi.hThread); + } + } + + if (!success) + { + TerminateProcess(pi.hProcess, 0); + } + else + { + using (Process process = Process.GetProcessById((int)pi.dwProcessId)) + { + while (!process.HasExited) + { + Thread.Sleep(1000); + } + } + } + + return success; + } + finally + { + if (pi.hThread != IntPtr.Zero) + { + CloseHandle(pi.hThread); + } + if (pi.hProcess != IntPtr.Zero) + { + CloseHandle(pi.hProcess); + } + } + } + + private static unsafe StealEntryPointResult TryStealEntryPoint(ref PROCESS_INFORMATION pi, ref IntPtr entryPoint, byte[] entryPointInst) + { + int modSize = IntPtr.Size * 1024; + IntPtr hMods = Marshal.AllocHGlobal(modSize); + + try + { + if (hMods == IntPtr.Zero) + { + return StealEntryPointResult.FailAlloc; + } + + int modsNeeded; + bool gotZeroMods = false; + while (!EnumProcessModulesEx(pi.hProcess, hMods, modSize, out modsNeeded, LIST_MODULES_ALL) || modsNeeded == 0) + { + if (modsNeeded == 0) + { + if (!gotZeroMods) + { + Thread.Sleep(100); + gotZeroMods = true; + continue; + } + else + { + // process has exited? + return StealEntryPointResult.FailGetModules; + } + } + + // try again w/ more space... + Marshal.FreeHGlobal(hMods); + hMods = Marshal.AllocHGlobal(modsNeeded); + if (hMods == IntPtr.Zero) + { + return StealEntryPointResult.FailGetModules; + } + modSize = modsNeeded; + } + + int totalNumberofModules = (int)(modsNeeded / IntPtr.Size); + for (int i = 0; i < totalNumberofModules; i++) + { + IntPtr hModule = Marshal.ReadIntPtr(hMods, i * IntPtr.Size); + + MODULEINFO moduleInfo; + if (GetModuleInformation(pi.hProcess, hModule, out moduleInfo, sizeof(MODULEINFO))) + { + StringBuilder moduleNameSb = new StringBuilder(1024); + if (GetModuleFileNameEx(pi.hProcess, hModule, moduleNameSb, moduleNameSb.Capacity) != 0) + { + try + { + string moduleName = Path.GetFileName(moduleNameSb.ToString()); + if (moduleName.Equals(targetProcessNameEx, StringComparison.OrdinalIgnoreCase)) + { + IntPtr byteCount; + if (ReadProcessMemory(pi.hProcess, moduleInfo.EntryPoint, entryPointInst, (IntPtr)2, out byteCount) && (int)byteCount == 2) + { + // TODO: We should probably use VirtualProtect here to ensure read/write/execute + + byte[] infLoop = { 0xEB, 0xFE };// JMP -2 + if (WriteProcessMemory(pi.hProcess, moduleInfo.EntryPoint, infLoop, (IntPtr)infLoop.Length, out byteCount) && + (int)byteCount == infLoop.Length) + { + entryPoint = moduleInfo.EntryPoint; + return StealEntryPointResult.Success; + } + else + { + return StealEntryPointResult.FailWrite; + } + } + else + { + return StealEntryPointResult.FailRead; + } + } + } + catch + { + } + } + } + } + + return StealEntryPointResult.FailFindTargetModule; + } + finally + { + if (hMods != IntPtr.Zero) + { + Marshal.FreeHGlobal(hMods); + } + } + } + + enum StealEntryPointResult + { + FailAlloc, + FailGetModules, + FailFindTargetModule, + FailRead, + FailWrite, + Success, + } + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, + bool bInheritHandles, int dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); + + [DllImport("kernel32.dll")] + static extern uint ResumeThread(IntPtr hThread); + + [DllImport("kernel32.dll")] + static extern uint SuspendThread(IntPtr hThread); + + [DllImport("kernel32.dll")] + static extern bool TerminateProcess(IntPtr hProcess, uint exitCode); + + [DllImport("psapi.dll", CharSet = CharSet.Auto)] + static extern bool EnumProcessModulesEx([In] IntPtr hProcess, IntPtr lphModule, int cb, [Out] out int lpcbNeeded, int dwFilterFlag); + + [DllImport("psapi.dll", SetLastError = true)] + static extern bool GetModuleInformation(IntPtr hProcess, IntPtr hModule, out MODULEINFO lpmodinfo, int cb); + + [DllImport("psapi.dll", CharSet = CharSet.Auto)] + static extern uint GetModuleFileNameEx(IntPtr hProcess, IntPtr hModule, [Out] StringBuilder lpBaseName, [In] [MarshalAs(UnmanagedType.U4)] int nSize); + + [DllImport("kernel32.dll")] + static extern bool WaitForDebugEvent(out DEBUG_EVENT lpDebugEvent, uint dwMilliseconds); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool ContinueDebugEvent(int processId, int threadId, uint continuteStatus); + + [DllImport("kernel32.dll")] + static extern void DebugSetProcessKillOnExit(bool killOnExit); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool DebugActiveProcessStop(int processId); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern Int32 CloseHandle(IntPtr hObject); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr dwSize, out IntPtr lpNumberOfBytesRead); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, IntPtr size, out IntPtr lpNumberOfBytesWritten); + + [DllImport("kernel32.dll", SetLastError = true)] + static unsafe extern bool GetThreadContext(IntPtr hThread, CONTEXT86* lpContext); + + static unsafe bool GetThreadContext(IntPtr hThread, ref CONTEXT86 lpContext) + { + // Hack to align to 16 byte boundry + byte* buff = stackalloc byte[Marshal.SizeOf(typeof(CONTEXT86)) + 16]; + buff += (ulong)(IntPtr)buff % 16; + CONTEXT86* ptr = (CONTEXT86*)buff; + *ptr = lpContext; + + bool result = GetThreadContext(hThread, ptr); + lpContext = *ptr; + if (!result && Marshal.GetLastWin32Error() == 998) + { + // Align hack failed + + } + return result; + } + + [Flags] + enum ThreadAccess : uint + { + Terminate = 0x00001, + SuspendResume = 0x00002, + GetContext = 0x00008, + SetContext = 0x00010, + SetInformation = 0x00020, + QueryInformation = 0x00040, + SetThreadToken = 0x00080, + Impersonate = 0x00100, + DirectImpersonation = 0x00200, + All = 0x1F03FF + } + + const int DEBUG_ONLY_THIS_PROCESS = 0x00000002; + const int CREATE_SUSPENDED = 0x00000004; + + const int LIST_MODULES_DEFAULT = 0x00; + const int LIST_MODULES_32BIT = 0x01; + const int LIST_MODULES_64BIT = 0x02; + const int LIST_MODULES_ALL = 0x03; + + const uint CREATE_PROCESS_DEBUG_EVENT = 3; + const uint EXIT_PROCESS_DEBUG_EVENT = 5; + const uint LOAD_DLL_DEBUG_EVENT = 6; + + static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1); + + const uint DBG_CONTINUE = 0x00010002; + + [StructLayout(LayoutKind.Sequential)] + unsafe struct MODULEINFO + { + public IntPtr lpBaseOfDll; + public uint SizeOfImage; + public IntPtr EntryPoint; + } + + struct STARTUPINFO + { + public uint cb; + public string lpReserved; + public string lpDesktop; + public string lpTitle; + public uint dwX; + public uint dwY; + public uint dwXSize; + public uint dwYSize; + public uint dwXCountChars; + public uint dwYCountChars; + public uint dwFillAttribute; + public uint dwFlags; + public short wShowWindow; + public short cbReserved2; + public IntPtr lpReserved2; + public IntPtr hStdInput; + public IntPtr hStdOutput; + public IntPtr hStdError; + } + + struct PROCESS_INFORMATION + { + public IntPtr hProcess; + public IntPtr hThread; + public uint dwProcessId; + public uint dwThreadId; + } + + [StructLayout(LayoutKind.Explicit)] + struct DEBUG_EVENT + { + [FieldOffset(0)] + public uint dwDebugEventCode; + [FieldOffset(4)] + public int dwProcessId; + [FieldOffset(8)] + public int dwThreadId; + + // x64(offset:16, size:164) + // x86(offset:12, size:86) + [FieldOffset(12)]//[FieldOffset(16)] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 164, ArraySubType = UnmanagedType.U1)] + public byte[] debugInfo; + + public CREATE_PROCESS_DEBUG_INFO CreateProcessInfo + { + get { return GetDebugInfo(); } + } + + public LOAD_DLL_DEBUG_INFO LoadDll + { + get { return GetDebugInfo(); } + } + + private T GetDebugInfo() where T : struct + { + GCHandle handle = GCHandle.Alloc(this.debugInfo, GCHandleType.Pinned); + T result = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T)); + handle.Free(); + return result; + } + } + + [StructLayout(LayoutKind.Sequential)] + struct LOAD_DLL_DEBUG_INFO + { + public IntPtr hFile; + public IntPtr lpBaseOfDll; + public uint dwDebugInfoFileOffset; + public uint nDebugInfoSize; + public IntPtr lpImageName; + public ushort fUnicode; + } + + [StructLayout(LayoutKind.Sequential)] + struct CREATE_PROCESS_DEBUG_INFO + { + public IntPtr hFile; + public IntPtr hProcess; + public IntPtr hThread; + public IntPtr lpBaseOfImage; + public uint dwDebugInfoFileOffset; + public uint nDebugInfoSize; + public IntPtr lpThreadLocalBase; + public IntPtr lpStartAddress; + public IntPtr lpImageName; + public ushort fUnicode; + } + + [StructLayout(LayoutKind.Explicit, Size = 716)]//0x2cc + unsafe struct CONTEXT86 + { + [FieldOffset(0)] + public CONTEXT_FLAGS ContextFlags; + [FieldOffset(4)] + public uint Dr0; + [FieldOffset(8)] + public uint Dr1; + [FieldOffset(12)] + public uint Dr2; + [FieldOffset(16)] + public uint Dr3; + [FieldOffset(20)] + public uint Dr6; + [FieldOffset(24)] + public uint Dr7; + [FieldOffset(28)] + [MarshalAs(UnmanagedType.Struct)] + public FloatingSaveArea FloatingSave; + [FieldOffset(140)] + public uint SegGs; + [FieldOffset(144)] + public uint SegFs; + [FieldOffset(148)] + public uint SegEs; + [FieldOffset(152)] + public uint SegDs; + [FieldOffset(156)] + public uint Edi; + [FieldOffset(160)] + public uint Esi; + [FieldOffset(164)] + public uint Ebx; + [FieldOffset(168)] + public uint Edx; + [FieldOffset(172)] + public uint Ecx; + [FieldOffset(176)] + public uint Eax; + [FieldOffset(180)] + public uint Ebp; + [FieldOffset(184)] + public uint Eip; + [FieldOffset(188)] + public uint SegCs; + [FieldOffset(192)] + public uint EFlags; + [FieldOffset(196)] + public uint Esp; + [FieldOffset(200)] + public uint SegSs; + [FieldOffset(204)] + //[MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)] + public byte ExtendedRegisters;//public byte[] ExtendedRegisters; + //716 + } + + [StructLayout(LayoutKind.Explicit, Size = 112)]//0x70 + unsafe struct FloatingSaveArea + { + [FieldOffset(0)]//28 + public uint ControlWord; + [FieldOffset(4)]//32 + public uint StatusWord; + [FieldOffset(8)]//36 + public uint TagWord; + [FieldOffset(12)]//40 + public uint ErrorOffset; + [FieldOffset(16)]//44 + public uint ErrorSelector; + [FieldOffset(20)]//48 + public uint DataOffset; + [FieldOffset(24)]//52 + public uint DataSelector; + [FieldOffset(28)]//56 + //[MarshalAs(UnmanagedType.ByValArray, SizeConst = 80)] + public byte RegisterArea;//public byte[] RegisterArea; + [FieldOffset(108)]//136 + public uint Cr0NpxState; + //140 + } + + /*[StructLayout(LayoutKind.Explicit, Size = 1232)] + unsafe struct CONTEXT64 + { + // Register Parameter Home Addresses + [FieldOffset(0x0)] + internal ulong P1Home; + [FieldOffset(0x8)] + internal ulong P2Home; + [FieldOffset(0x10)] + internal ulong P3Home; + [FieldOffset(0x18)] + internal ulong P4Home; + [FieldOffset(0x20)] + internal ulong P5Home; + [FieldOffset(0x28)] + internal ulong P6Home; + // Control Flags + [FieldOffset(0x30)] + internal CONTEXT_FLAGS ContextFlags; + [FieldOffset(0x34)] + internal uint MxCsr; + // Segment Registers and Processor Flags + [FieldOffset(0x38)] + internal ushort SegCs; + [FieldOffset(0x3a)] + internal ushort SegDs; + [FieldOffset(0x3c)] + internal ushort SegEs; + [FieldOffset(0x3e)] + internal ushort SegFs; + [FieldOffset(0x40)] + internal ushort SegGs; + [FieldOffset(0x42)] + internal ushort SegSs; + [FieldOffset(0x44)] + internal uint EFlags; + // Debug Registers + [FieldOffset(0x48)] + internal ulong Dr0; + [FieldOffset(0x50)] + internal ulong Dr1; + [FieldOffset(0x58)] + internal ulong Dr2; + [FieldOffset(0x60)] + internal ulong Dr3; + [FieldOffset(0x68)] + internal ulong Dr6; + [FieldOffset(0x70)] + internal ulong Dr7; + // Integer Registers + [FieldOffset(0x78)] + internal ulong Rax; + [FieldOffset(0x80)] + internal ulong Rcx; + [FieldOffset(0x88)] + internal ulong Rdx; + [FieldOffset(0x90)] + internal ulong Rbx; + [FieldOffset(0x98)] + internal ulong Rsp; + [FieldOffset(0xa0)] + internal ulong Rbp; + [FieldOffset(0xa8)] + internal ulong Rsi; + [FieldOffset(0xb0)] + internal ulong Rdi; + [FieldOffset(0xb8)] + internal ulong R8; + [FieldOffset(0xc0)] + internal ulong R9; + [FieldOffset(0xc8)] + internal ulong R10; + [FieldOffset(0xd0)] + internal ulong R11; + [FieldOffset(0xd8)] + internal ulong R12; + [FieldOffset(0xe0)] + internal ulong R13; + [FieldOffset(0xe8)] + internal ulong R14; + [FieldOffset(0xf0)] + internal ulong R15; + // Program Counter + [FieldOffset(0xf8)] + internal ulong Rip; + // Floating Point State + [FieldOffset(0x100)] + internal ulong FltSave; + [FieldOffset(0x120)] + internal ulong Legacy; + [FieldOffset(0x1a0)] + internal ulong Xmm0; + [FieldOffset(0x1b0)] + internal ulong Xmm1; + [FieldOffset(0x1c0)] + internal ulong Xmm2; + [FieldOffset(0x1d0)] + internal ulong Xmm3; + [FieldOffset(0x1e0)] + internal ulong Xmm4; + [FieldOffset(0x1f0)] + internal ulong Xmm5; + [FieldOffset(0x200)] + internal ulong Xmm6; + [FieldOffset(0x210)] + internal ulong Xmm7; + [FieldOffset(0x220)] + internal ulong Xmm8; + [FieldOffset(0x230)] + internal ulong Xmm9; + [FieldOffset(0x240)] + internal ulong Xmm10; + [FieldOffset(0x250)] + internal ulong Xmm11; + [FieldOffset(0x260)] + internal ulong Xmm12; + [FieldOffset(0x270)] + internal ulong Xmm13; + [FieldOffset(0x280)] + internal ulong Xmm14; + [FieldOffset(0x290)] + internal ulong Xmm15; + // Vector Registers + [FieldOffset(0x300)] + internal ulong VectorRegister; + [FieldOffset(0x4a0)] + internal ulong VectorControl; + // Special Debug Control Registers + [FieldOffset(0x4a8)] + internal ulong DebugControl; + [FieldOffset(0x4b0)] + internal ulong LastBranchToRip; + [FieldOffset(0x4b8)] + internal ulong LastBranchFromRip; + [FieldOffset(0x4c0)] + internal ulong LastExceptionToRip; + [FieldOffset(0x4c8)] + internal ulong LastExceptionFromRip; + }*/ + + [Flags] + enum CONTEXT_FLAGS : uint + { + i386 = 0x10000, + i486 = 0x10000, // same as i386 + CONTROL = i386 | 0x01, // SS:SP, CS:IP, FLAGS, BP + INTEGER = i386 | 0x02, // AX, BX, CX, DX, SI, DI + SEGMENTS = i386 | 0x04, // DS, ES, FS, GS + FLOATING_POINT = i386 | 0x08, // 387 state + DEBUG_REGISTERS = i386 | 0x10, // DB 0-3,6,7 + EXTENDED_REGISTERS = i386 | 0x20, // cpu specific extensions + FULL = CONTROL | INTEGER | SEGMENTS, + ALL = CONTROL | INTEGER | SEGMENTS | FLOATING_POINT | DEBUG_REGISTERS | EXTENDED_REGISTERS + } + + static class DllInjector + { + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr OpenProcess(uint dwDesiredAccess, int bInheritHandle, int dwProcessId); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern Int32 CloseHandle(IntPtr hObject); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr GetModuleHandle(string lpModuleName); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, uint flAllocationType, uint flProtect); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, uint dwFreeType); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, IntPtr size, out IntPtr lpNumberOfBytesWritten); + + [DllImport("kernel32.dll", SetLastError = true)] + static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttribute, IntPtr dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId); + + const uint MEM_COMMIT = 0x1000; + const uint MEM_RESERVE = 0x2000; + const uint MEM_RELEASE = 0x8000; + + const uint PAGE_EXECUTE = 0x10; + const uint PAGE_EXECUTE_READ = 0x20; + const uint PAGE_EXECUTE_READWRITE = 0x40; + const uint PAGE_EXECUTE_WRITECOPY = 0x80; + const uint PAGE_NOACCESS = 0x01; + + public static bool Inject(Process process, string dllPath) + { + bool result = false; + IntPtr hProcess = OpenProcess((0x2 | 0x8 | 0x10 | 0x20 | 0x400), 1, process.Id); + if (hProcess != IntPtr.Zero) + { + result = Inject(hProcess, dllPath); + CloseHandle(hProcess); + } + return result; + } + + public static bool Inject(IntPtr process, string dllPath) + { + if (process == IntPtr.Zero) + { + LogError("Process handle is 0"); + return false; + } + + if (!File.Exists(dllPath)) + { + LogError("Couldn't find the dll to inject (" + dllPath + ")"); + return false; + } + + //dllPath = Path.GetFullPath(dllPath); + byte[] buffer = Encoding.ASCII.GetBytes(dllPath); + + IntPtr libAddr = IntPtr.Zero; + IntPtr memAddr = IntPtr.Zero; + IntPtr threadAddr = IntPtr.Zero; + + try + { + if (process == IntPtr.Zero) + { + LogError("Unable to attach to process"); + return false; + } + + libAddr = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA"); + if (libAddr == IntPtr.Zero) + { + LogError("Unable to find address of LoadLibraryA"); + return false; + } + + memAddr = VirtualAllocEx(process, IntPtr.Zero, (IntPtr)buffer.Length, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); + if (memAddr == IntPtr.Zero) + { + LogError("Unable to allocate memory in the target process"); + return false; + } + + IntPtr bytesWritten; + if (!WriteProcessMemory(process, memAddr, buffer, (IntPtr)buffer.Length, out bytesWritten) || + (int)bytesWritten != buffer.Length) + { + LogError("Unable to write to target process memory"); + return false; + } + + IntPtr thread = CreateRemoteThread(process, IntPtr.Zero, IntPtr.Zero, libAddr, memAddr, 0, IntPtr.Zero); + if (thread == IntPtr.Zero) + { + LogError("Unable to start thread in target process"); + return false; + } + + return true; + } + finally + { + if (threadAddr != IntPtr.Zero) + { + CloseHandle(threadAddr); + } + if (memAddr != IntPtr.Zero) + { + VirtualFreeEx(process, memAddr, IntPtr.Zero, MEM_RELEASE); + } + } + } + + private static void LogError(string str) + { + string error = "DllInjector error: " + str + " - ErrorCode: " + Marshal.GetLastWin32Error(); + Console.WriteLine(error); + System.Diagnostics.Debug.WriteLine(error); + } + } + } + + class ConsoleHelper + { + [DllImport("user32.dll")] + private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + + [DllImport("kernel32.dll")] + private static extern bool AllocConsole(); + + [DllImport("kernel32.dll")] + private static extern bool FreeConsole(); + + [DllImport("kernel32.dll")] + private static extern IntPtr GetConsoleWindow(); + + [DllImport("kernel32.dll")] + private static extern IntPtr GetStdHandle(UInt32 nStdHandle); + + [DllImport("kernel32.dll")] + private static extern void SetStdHandle(UInt32 nStdHandle, IntPtr handle); + + [DllImport("user32.dll", SetLastError = true)] + private static extern bool IsWindowVisible(IntPtr hWnd); + + private const UInt32 StdOutputHandle = 0xFFFFFFF5; + + private static IntPtr consoleHandle; + internal static TextWriter output; + + private const int SW_SHOW = 5; + private const int SW_HIDE = 0; + + private static string title; + public static string Title + { + get + { + if (consoleHandle == IntPtr.Zero) + { + return title; + } + StringBuilder stringBuilder = new StringBuilder(1024); + GetConsoleTitle(stringBuilder, (uint)stringBuilder.Capacity); + return stringBuilder.ToString(); + } + set + { + title = value; + if (consoleHandle != IntPtr.Zero) + { + SetConsoleTitle(value); + } + } + } + + static ConsoleHelper() + { + output = new ConsoleTextWriter(); + //Console.SetOut(output); + + consoleHandle = GetConsoleWindow(); + if (consoleHandle != IntPtr.Zero) + { + Title = title; + } + } + + public static bool IsConsoleVisible + { + get { return (consoleHandle = GetConsoleWindow()) != IntPtr.Zero && IsWindowVisible(consoleHandle); } + //get { return (consoleHandle = GetConsoleWindow()) != IntPtr.Zero; } + } + + public static void ToggleConsole() + { + consoleHandle = GetConsoleWindow(); + if (consoleHandle == IntPtr.Zero) + { + AllocConsole(); + } + else + { + FreeConsole(); + } + } + + public static void ShowConsole() + { + consoleHandle = GetConsoleWindow(); + if (consoleHandle == IntPtr.Zero) + { + AllocConsole(); + consoleHandle = GetConsoleWindow(); + } + else + { + ShowWindow(consoleHandle, SW_SHOW); + } + + if (consoleHandle != IntPtr.Zero) + { + Title = title != null ? title : string.Empty; + } + } + + public static void HideConsole() + { + consoleHandle = GetConsoleWindow(); + if (consoleHandle != IntPtr.Zero) + { + ShowWindow(consoleHandle, SW_HIDE); + } + } + + public static void CloseConsole() + { + consoleHandle = GetConsoleWindow(); + if (consoleHandle != IntPtr.Zero) + { + FreeConsole(); + } + } + + [DllImport("kernel32.dll", SetLastError = true)] + static extern uint GetConsoleTitle(StringBuilder lpConsoleTitle, uint nSize); + + [DllImport("kernel32.dll")] + static extern bool SetConsoleTitle(string lpConsoleTitle); + } + + public class ConsoleTextWriter : TextWriter + { + public override Encoding Encoding { get { return Encoding.UTF8; } } + + // TODO: WriteConsole may not write all the data, chunk this data into several calls if nessesary + + // WriteConsoleW issues reference: + // https://svn.apache.org/repos/asf/logging/log4net/tags/log4net-1_2_9/src/Appender/ColoredConsoleAppender.cs + + public override void Write(string value) + { + uint written; + if (!WriteConsoleW(new IntPtr(7), value, (uint)value.Length, out written, IntPtr.Zero) || written < value.Length) + { + if (GetConsoleWindow() != IntPtr.Zero) + { + //System.Diagnostics.Debugger.Break(); + } + } + } + + public override void WriteLine(string value) + { + value = value + Environment.NewLine; + uint written; + if (!WriteConsoleW(new IntPtr(7), value, (uint)value.Length, out written, IntPtr.Zero) || written < value.Length) + { + if (GetConsoleWindow() != IntPtr.Zero) + { + //System.Diagnostics.Debugger.Break(); + } + } + } + + [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] + static extern bool WriteConsoleW(IntPtr hConsoleOutput, [MarshalAs(UnmanagedType.LPWStr)] string lpBuffer, + uint nNumberOfCharsToWrite, out uint lpNumberOfCharsWritten, + IntPtr lpReserved); + + [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] + static extern bool WriteConsole(IntPtr hConsoleOutput, string lpBuffer, + uint nNumberOfCharsToWrite, out uint lpNumberOfCharsWritten, + IntPtr lpReserved); + + [DllImport("kernel32.dll")] + static extern bool SetConsoleCP(int wCodePageID); + + [DllImport("kernel32.dll")] + static extern uint GetACP(); + + [DllImport("kernel32.dll")] + static extern IntPtr GetConsoleWindow(); + } + } +} diff --git a/GK6X/Crc16.cs b/GK6X/Crc16.cs new file mode 100644 index 0000000..ca5d827 --- /dev/null +++ b/GK6X/Crc16.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public static class Crc16 + { + internal static ushort[] table; + static byte[] byteTable = + { + 0x00, 0x00, 0x21, 0x10, 0x42, 0x20, 0x63, 0x30, 0x84, 0x40, 0xA5, 0x50, 0xC6, 0x60, 0xE7, 0x70, + 0x08, 0x81, 0x29, 0x91, 0x4A, 0xA1, 0x6B, 0xB1, 0x8C, 0xC1, 0xAD, 0xD1, 0xCE, 0xE1, 0xEF, 0xF1, + 0x31, 0x12, 0x10, 0x02, 0x73, 0x32, 0x52, 0x22, 0xB5, 0x52, 0x94, 0x42, 0xF7, 0x72, 0xD6, 0x62, + 0x39, 0x93, 0x18, 0x83, 0x7B, 0xB3, 0x5A, 0xA3, 0xBD, 0xD3, 0x9C, 0xC3, 0xFF, 0xF3, 0xDE, 0xE3, + 0x62, 0x24, 0x43, 0x34, 0x20, 0x04, 0x01, 0x14, 0xE6, 0x64, 0xC7, 0x74, 0xA4, 0x44, 0x85, 0x54, + 0x6A, 0xA5, 0x4B, 0xB5, 0x28, 0x85, 0x09, 0x95, 0xEE, 0xE5, 0xCF, 0xF5, 0xAC, 0xC5, 0x8D, 0xD5, + 0x53, 0x36, 0x72, 0x26, 0x11, 0x16, 0x30, 0x06, 0xD7, 0x76, 0xF6, 0x66, 0x95, 0x56, 0xB4, 0x46, + 0x5B, 0xB7, 0x7A, 0xA7, 0x19, 0x97, 0x38, 0x87, 0xDF, 0xF7, 0xFE, 0xE7, 0x9D, 0xD7, 0xBC, 0xC7, + 0xC4, 0x48, 0xE5, 0x58, 0x86, 0x68, 0xA7, 0x78, 0x40, 0x08, 0x61, 0x18, 0x02, 0x28, 0x23, 0x38, + 0xCC, 0xC9, 0xED, 0xD9, 0x8E, 0xE9, 0xAF, 0xF9, 0x48, 0x89, 0x69, 0x99, 0x0A, 0xA9, 0x2B, 0xB9, + 0xF5, 0x5A, 0xD4, 0x4A, 0xB7, 0x7A, 0x96, 0x6A, 0x71, 0x1A, 0x50, 0x0A, 0x33, 0x3A, 0x12, 0x2A, + 0xFD, 0xDB, 0xDC, 0xCB, 0xBF, 0xFB, 0x9E, 0xEB, 0x79, 0x9B, 0x58, 0x8B, 0x3B, 0xBB, 0x1A, 0xAB, + 0xA6, 0x6C, 0x87, 0x7C, 0xE4, 0x4C, 0xC5, 0x5C, 0x22, 0x2C, 0x03, 0x3C, 0x60, 0x0C, 0x41, 0x1C, + 0xAE, 0xED, 0x8F, 0xFD, 0xEC, 0xCD, 0xCD, 0xDD, 0x2A, 0xAD, 0x0B, 0xBD, 0x68, 0x8D, 0x49, 0x9D, + 0x97, 0x7E, 0xB6, 0x6E, 0xD5, 0x5E, 0xF4, 0x4E, 0x13, 0x3E, 0x32, 0x2E, 0x51, 0x1E, 0x70, 0x0E, + 0x9F, 0xFF, 0xBE, 0xEF, 0xDD, 0xDF, 0xFC, 0xCF, 0x1B, 0xBF, 0x3A, 0xAF, 0x59, 0x9F, 0x78, 0x8F, + 0x88, 0x91, 0xA9, 0x81, 0xCA, 0xB1, 0xEB, 0xA1, 0x0C, 0xD1, 0x2D, 0xC1, 0x4E, 0xF1, 0x6F, 0xE1, + 0x80, 0x10, 0xA1, 0x00, 0xC2, 0x30, 0xE3, 0x20, 0x04, 0x50, 0x25, 0x40, 0x46, 0x70, 0x67, 0x60, + 0xB9, 0x83, 0x98, 0x93, 0xFB, 0xA3, 0xDA, 0xB3, 0x3D, 0xC3, 0x1C, 0xD3, 0x7F, 0xE3, 0x5E, 0xF3, + 0xB1, 0x02, 0x90, 0x12, 0xF3, 0x22, 0xD2, 0x32, 0x35, 0x42, 0x14, 0x52, 0x77, 0x62, 0x56, 0x72, + 0xEA, 0xB5, 0xCB, 0xA5, 0xA8, 0x95, 0x89, 0x85, 0x6E, 0xF5, 0x4F, 0xE5, 0x2C, 0xD5, 0x0D, 0xC5, + 0xE2, 0x34, 0xC3, 0x24, 0xA0, 0x14, 0x81, 0x04, 0x66, 0x74, 0x47, 0x64, 0x24, 0x54, 0x05, 0x44, + 0xDB, 0xA7, 0xFA, 0xB7, 0x99, 0x87, 0xB8, 0x97, 0x5F, 0xE7, 0x7E, 0xF7, 0x1D, 0xC7, 0x3C, 0xD7, + 0xD3, 0x26, 0xF2, 0x36, 0x91, 0x06, 0xB0, 0x16, 0x57, 0x66, 0x76, 0x76, 0x15, 0x46, 0x34, 0x56, + 0x4C, 0xD9, 0x6D, 0xC9, 0x0E, 0xF9, 0x2F, 0xE9, 0xC8, 0x99, 0xE9, 0x89, 0x8A, 0xB9, 0xAB, 0xA9, + 0x44, 0x58, 0x65, 0x48, 0x06, 0x78, 0x27, 0x68, 0xC0, 0x18, 0xE1, 0x08, 0x82, 0x38, 0xA3, 0x28, + 0x7D, 0xCB, 0x5C, 0xDB, 0x3F, 0xEB, 0x1E, 0xFB, 0xF9, 0x8B, 0xD8, 0x9B, 0xBB, 0xAB, 0x9A, 0xBB, + 0x75, 0x4A, 0x54, 0x5A, 0x37, 0x6A, 0x16, 0x7A, 0xF1, 0x0A, 0xD0, 0x1A, 0xB3, 0x2A, 0x92, 0x3A, + 0x2E, 0xFD, 0x0F, 0xED, 0x6C, 0xDD, 0x4D, 0xCD, 0xAA, 0xBD, 0x8B, 0xAD, 0xE8, 0x9D, 0xC9, 0x8D, + 0x26, 0x7C, 0x07, 0x6C, 0x64, 0x5C, 0x45, 0x4C, 0xA2, 0x3C, 0x83, 0x2C, 0xE0, 0x1C, 0xC1, 0x0C, + 0x1F, 0xEF, 0x3E, 0xFF, 0x5D, 0xCF, 0x7C, 0xDF, 0x9B, 0xAF, 0xBA, 0xBF, 0xD9, 0x8F, 0xF8, 0x9F, + 0x17, 0x6E, 0x36, 0x7E, 0x55, 0x4E, 0x74, 0x5E, 0x93, 0x2E, 0xB2, 0x3E, 0xD1, 0x0E, 0xF0, 0x1E + }; + + static Crc16() + { + table = new ushort[byteTable.Length / 2]; + for (int i = 0; i < table.Length; i++) + { + table[i] = BitConverter.ToUInt16(byteTable, i * 2); + } + } + + public static ushort GetCrc(byte[] data, int index = 0, ushort iv = 0xFFFF) + { + ushort crc = iv; + for (int i = index; i < data.Length; i++) + { + byte tableOffset = (byte)(data[i] ^ (byte)(crc >> 8)); + crc = (ushort)(table[tableOffset] ^ (crc << 8)); + } + return crc; + } + + public static void InsertCrc(byte[] data, int dataOffset = 0, int crcOffset = 6) + { + data[crcOffset + 0] = 0; + data[crcOffset + 1] = 0; + ushort dataCrc = GetCrc(data, dataOffset); + data[crcOffset + 0] = (byte)dataCrc; + data[crcOffset + 1] = (byte)(dataCrc >> 8); + } + + public static bool ValidateCrc(byte[] data, int dataOffset = 0, int crcOffset = 6) + { + ushort dataCrc = BitConverter.ToUInt16(data, crcOffset); + byte temp1 = data[crcOffset + 0]; + byte temp2 = data[crcOffset + 1]; + data[crcOffset + 0] = 0; + data[crcOffset + 1] = 0; + ushort calculatedCrc = GetCrc(data, dataOffset); + data[crcOffset + 0] = temp1; + data[crcOffset + 1] = temp2; + return dataCrc == calculatedCrc; + } + } +} diff --git a/GK6X/Enums.cs b/GK6X/Enums.cs new file mode 100644 index 0000000..a88c845 --- /dev/null +++ b/GK6X/Enums.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GK6X +{ + // TODO: When there is better lighting / macro support, put these in the appropriate files + + public enum LightingEffectType + { + /// + /// Static "DIY" lighting with an RGB value for each key + /// + Static = 0, + /// + /// Lighting effect with 1 or more frames of lighting + /// + Dynamic = 3 + } + + public enum LightingEffectColorType + { + /// + /// Single solid color + /// + Monochrome = 0, + /// + /// Color which changes through the color spectrum + /// + RGB = 1, + /// + /// Color which changes through the color spectrum, and visually "breathes" + /// + Breathing = 2 + } + + /// + /// Defines how a macro should be repeated when pressing a key bound to a macro + /// + public enum MacroRepeatType + { + /// + /// Repeat the macro X number of times after the key is pressed (subsequent key presses are ignored until the + /// macro has completely finished - there doesn't appear to be any way to stop the macro once it has started, + /// and the key must be released and pressed again to start the macro again after it has finished) + /// + RepeatXTimes = 1, + /// + /// Release key to stop the macro (repeats the macro until the key is released (even if the macro is partially complete)) + /// + ReleaseKeyToStop = 2, + /// + /// Press key a second time to stop the macro (repeats the macro until the key is pressed again) + /// + PressKeyAgainToStop = 3 + } + + // This is different compared to DriverValue + public enum MacroKeyType + { + Key = 1, + Mouse = 2 + } + + public enum MacroKeyState + { + Down = 1, + Up = 2 + } +} diff --git a/GK6X/GK6X.csproj b/GK6X/GK6X.csproj new file mode 100644 index 0000000..a159eec --- /dev/null +++ b/GK6X/GK6X.csproj @@ -0,0 +1,84 @@ + + + + + Debug + AnyCPU + {1475A021-74D1-4992-A22E-FF5E65C7A86C} + Exe + GK6X + GK6X + v4.0 + 512 + true + + + true + ..\Build\ + DEBUG;TRACE + true + full + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + bin\Release\ + TRACE + true + pdbonly + AnyCPU + prompt + MinimumRecommendedRules.ruleset + + + true + ..\Build\ + DEBUG;TRACE + true + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + HIDSharp\HidSharp.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GK6X/HIDSharp/HidSharp.XML b/GK6X/HIDSharp/HidSharp.XML new file mode 100644 index 0000000..5fa7535 --- /dev/null +++ b/GK6X/HIDSharp/HidSharp.XML @@ -0,0 +1,1207 @@ + + + + HidSharp + + + + + Represents a USB HID class device. + + + + + Makes a connection to the device, or throws an exception if the connection cannot be made. + + The stream to use to communicate with the device. + + + + Tries to make a connection to the device. + + The stream to use to communicate with the device. + true if the connection was successful. + + + + Returns the file system path of the device. + This can be used to check permissions on Linux hidraw, for instance. + + The file system path. + + + + Returns a name appropriate for display. + + The friendly name. + + + + Checks if a particular implementation detail, such as the use of the Linux hidraw API, applies to this device. + See for a list of possible details. + + The detail to check. + true if the implementation detail applies. + + + + The operating system's name for the device. + + If you have multiple devices with the same Vendor ID, Product ID, Serial Number, etc., + this may be useful for differentiating them. + + + + + + + + + + + + + + Returns the manufacturer name. + + + + + Returns the product name. + + + + + Returns the device serial number. + + + + + Returns the maximum input report length, including the Report ID byte. + If the device does not use Report IDs, the first byte will always be 0. + + + + + Returns the maximum output report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Returns the maximum feature report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Retrieves and parses the report descriptor of the USB device. + + The parsed report descriptor. + + + + Returns the raw report descriptor of the USB device. + + The raw report descriptor. + + + + Returns the serial ports of the composite USB device. + Currently this is only supported on Windows. + + Serial ports of the USB device. + + + + + + + + + + + + + The USB product ID. These are listed at: http://usb-ids.gowdy.us + + + + + The device release number. + + + + + The device release number, in binary-coded decimal. + + + + + + + + The USB vendor ID. These are listed at: http://usb-ids.gowdy.us + + + + + + + + + + + + + + + + + + + + + + + Represents a serial device. + + + + + + + + + + + + + + + + + + + + + + + Communicates with a serial device. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Occurs when the stream is closed. + + + + + Occurs when is true and another process or thread with higher priority + would like to open the stream. + + + + + + + + + + + + + + + + + Gets the associated with this stream. + + + + + + + + + + + The maximum amount of time, in milliseconds, to wait for the device to send some data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + The maximum amount of time, in milliseconds, to wait for the device to receive the data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + An object storing user-defined data about the stream. + + + + + + + + Gets the associated with this stream. + + + + + Communicates with a USB HID class device. + + + + + + + + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the first byte. + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the byte at index . + The index in the buffer to begin filling with data. + The number of bytes in the feature request. + + + + Reads HID Input Reports. + + The data read. + + + + Reads HID Input Reports. + + The buffer to place the reports into. + The number of bytes read. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the first byte. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the byte at index . + The index in the buffer to start the write from. + The number of bytes in the feature request. + + + + Writes an HID Output Report to the device. + + The buffer containing the report. Place the Report ID in the first byte. + + + + Gets the associated with this stream. + + + + + Defines the possible units of mass. + + + + + The unit system has no unit of mass. + + + + + The unit of mass is the gram (occurs in the SI Linear and Rotation unit systems). + + + + + The unit of mass is the slug (occurs in the English Linear and Rotation unit systems). + + + + + Describes the units of a report value. + + + + + Initializes a new instance of the class. + + The raw HID value describing the units. + + + + Decodes an encoded HID unit exponent. + + The encoded exponent. + The exponent. + + + + Encodes an exponent in HID unit form. + + The exponent. + The encoded exponent. + + + + Gets or sets the unit system. + + + + + Gets or sets the exponent of the report value's units of length. + + + + + Gets the units of length corresponding to . + + + + + Gets or sets the exponent of the report value's units of mass. + + + + + Gets the units of mass corresponding to . + + + + + Gets or sets the exponent of the report value's units of time. + + + + + Gets the units of time corresponding to . + + + + + Gets or sets the exponent of the report value's units of temperature. + + + + + Gets the units of temperature corresponding to . + + + + + Gets or sets the exponent of the report value's units of current. + + + + + Gets the units of current corresponding to . + + + + + Gets or sets the exponent of the report value's units of luminous intensity. + + + + + Gets the units of luminous intensity corresponding to . + + + + + Gets or sets the raw HID value describing the units. + + + + + Represents a Bluetooth Low Energy device. + + + + + + + + + + + Defines the possible units of luminous intensity. + + + + + The unit system has no unit of luminous intensity. + + + + + The unit of luminous intensity is the candela. + + + + + Describes the manner in which an item affects the descriptor. + + + + + Main items determine the report being described. + For example, a main item switches between Input and Output reports. + + + + + Global items affect all reports later in the descriptor. + + + + + Local items only affect the current report. + + + + + Long items use this type. + + + + + Level-triggered. A momentary button. 0 indicates not pressed, 1 indicates pressed. + + + + + Level-triggered. Toggle buttons maintain their state. 0 indicates not pressed, 1 indicates pressed. + + + + + Edge-triggered. A 0-to-1 transition should activate the one-shot function. + + + + + Edge-triggered. Each report of -1 goes down. Each report of 1 goes up. + + + + + Parses a received report. + + The buffer to read the report from. + The offset to begin reading the report at. + the buffer conforms to. + true if the report is for this . + + + + The number of unique values in the . + + + + + Creates a appropriate for parsing reports for this device item. + + The new . + + Pair this with a for the . + + + + + Describes all options for opening a device stream. + + + + + Initializes a new instance of the class. + + + + + Gets the current value of an option. + + The option. + The option's value. + + + + Gets a list of all currently set options. + + The options list. + + + + Checks if an option has been set. + + The option. + true if the option has been set. + + + + Sets the current value of an option. + + The option. + The value to set it to. + + + + Options for opening a device stream. + + + + + Use HIDSharp's exclusivity layer. + This allows one process using HIDSharp to lock other processes out of using a HID device. + Processes may request interruption, allowing interprocess cooperation. + (For example, a data logging application can make itself interruptible and allow another process to use the HID device temporarily.) + + Defaults to false. + + + + + Allow other processes to send interruption requests. + If another other process with higher priority attempts to open the HID device this process is using, + this process will receive an event on an arbitrary thread. + + must be true for this to work. + Defaults to false. + + + + + The priority of the process. This is used for interruption requests. + must be true for this to work. + Defaults to . + + + + + The amount of time to wait for an interruptible process to give up the HID device before failing to open the stream. + Defaults to 3000 milliseconds. + + + + + The amount of time to wait for a transient process to give up the HID device before failing to open the stream. + Defaults to 30000 milliseconds. + + + + + If a HID device is opened by another process transiently, HIDSharp will wait some time for the process to give up the HID device before failing to open the stream. + + must be true for this to work. + Defaults to false. + + + + + Parses HID report descriptors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, and parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Creates an appropriate + for receiving reports from this device. + + The new . + + Pair this with a for your chosen . + + + + + Resets the parser to its initial state. + + + + + Updates derived data. + + + + + Parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Parses all of the elements in a report descriptor. + + The items to parse. + + + + Parses a single . + Call this repeatedly for every item to completely decode a report descriptor. + + The item to parse. + + + + The maximum input report length. + The Report ID is included in this length. + + + + + The maximum output report length. + The Report ID is included in this length. + + + + + The maximum feature report length. + The Report ID is included in this length. + + + + + True if the device sends Report IDs. + + + + + Each physical HID device exposes a number of collections corresponding to logical devices. + For a simple joystick, gamepad, etc. there will typically be one . Dual gamepad adapters will have two. + Keyboards often have one for their keys and at least one for their volume and media controls. + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + An integer identifying the error that has occurred. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Gets the associated with the exception, if any. + + The exception to get the associated for. + The associated , or null if none is associated with it. + + + + Defines the possible units of time. + + + + + The unit system has no unit of time. + + + + + The unit of time is seconds. + + + + + Specifies the 's low-level implementation. + + + + + The device is running on Windows. + + + + + The device is running on a Mac. + + + + + The device is running on Linux. + + + + + The device is a Bluetooth Low Energy device. + + + + + The device is a HID device. + + + + + The device is a serial device. + + + + + The device is implemented using the Linux hidraw API. + + + + + Defines the possible units of length. + + + + + The unit system has no unit of length. + + + + + The unit of length is the centimeter (occurs in the SI Linear unit system). + + + + + The unit of length is the radian (occurs in the SI Rotation unit system). + + + + + The unit of length is the inch (occurs in the English Linear unit system). + + + + + The unit of length is the degree (occurs in the English Rotation unit system). + + + + + Defines the possible units of current. + + + + + The unit system has no unit of current. + + + + + The unit of current is the Ampere. + + + + + Provides a list of all available devices. + + + + + Initializes a new instance of the class. + + + + + Gets a list of all connected BLE devices. + + The device list. + + + + Gets a list of all connected HID devices. + + The device list. + + + + Gets a list of connected HID devices, filtered by some criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The filtered device list. + + + + Gets a list of all connected serial devices. + + The device list. + + + + Gets a list of all connected HID, BLE, and serial devices. + + The device list. + + + + Gets a list of connected devices, filtered by some criteria. + + The filter criteria. + The filtered device list. + + + + Gets the first connected HID device that matches specified criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The device, or null if none was found. + + + + Gets the connected serial device with the specific device path or filesystem name. + + The device path or filesystem name. + The device, or null if none was found. + + + + Raises the event. + + + + + + + + Occurs when a device is connected or disconnected. + + + + + true if drivers are presently being installed. + + + + + The list of devices on this computer. + + + + + + + + + + + Defines the possible unit systems. + + + + + No units are used. + + + + + The SI Linear unit system uses centimeters for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The SI Rotation unit system uses radians for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Linear unit system uses inches for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Rotation unit system uses degrees for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + No flags are set. + + + + + Constant values cannot be changed. + + + + + Each variable field corresponds to a particular value. + The alternative is an array, where each field specifies an index. + For example, with eight buttons, a variable field would have eight bits. + An array would have an index of which button is pressed. + + + + + Mouse motion is in relative coordinates. + Most sensors -- joysticks, accelerometers, etc. -- output absolute coordinates. + + + + + The value wraps around in a continuous manner. + + + + + Starts the receiver. It will continue until the stream is closed or the device is disconnected. + Be sure to call to read HID reports as they come in. + + The stream to receive on. + + + + Checks for pending HID reports. + + The buffer to write the report to. + The offset to begin writing the report at. + The the buffer conforms to. + true if there was a pending report. + + + + true if the receiver is running. + false if the receiver has stopped, or has not yet been started. + + + + + + The stream associated with this receiver. + + + + + + This will be signaled any time there is data, or when the receiver has stopped due to stream closure or device disconnect. + To clear the signal, call until there is no more data. + If the receiver has stopped, the signal cannot be cleared. + + + + + Defines the possible units of temperature. + + + + + The unit system has no unit of temperature. + + + + + The unit of temperature is Kelvin (occurs in SI Linear and Rotation unit systems). + + + + + The unit of temperature is Fahrenheit (occurs in English Linear and Rotation unit systems). + + + + + See http://www.usb.org/developers/hidpage for additional HID Usage Tables. + + + + + + + + Gets the associated with this stream. + + + + + Gets the associated with this stream. + + + + + Converts USB device release numbers to and from binary-coded decimal. + + + + + Converts a USB device release number to binary-coded decimal. + + The device release number. + The device release number, in binary-coded decimal. + + + + Converts a USB device release number from binary-coded decimal. + + The device release number, in binary-coded decimal. + The device release number. + + + + The priority at which to open a device stream. + + + + + The lowest priority. + + + + + Very low priority. + + + + + Low priority. + + + + + The default priority. + + + + + High priority. + + + + + The highest priority. + + + + + Reads and writes HID reports. + + + + + Initializes a new instance of the class. + + + + + Reads a HID report, calling back a provided function for each data item. + + The buffer containing the report. + The offset to begin reading the report at. + + This callback will be called for each data item. + Use this to read every value you need. + + + + + Writes a HID report, calling back a provided function for each data item. + + + This callback will be called for each report data item. + Write to each data item to write a complete HID report. + + + + + The length of this particular report. + The Report ID is included in this length. + + + + + The Report ID. + + + + diff --git a/GK6X/HIDSharp/HidSharp.dll b/GK6X/HIDSharp/HidSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..895c318a86f0f99d0fef61da2cfe0fc51068002d GIT binary patch literal 242608 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 literal 0 HcmV?d00001 diff --git a/GK6X/HIDSharp/netstandard2.0/HidSharp.XML b/GK6X/HIDSharp/netstandard2.0/HidSharp.XML new file mode 100644 index 0000000..f906fbe --- /dev/null +++ b/GK6X/HIDSharp/netstandard2.0/HidSharp.XML @@ -0,0 +1,1207 @@ + + + + HidSharp + + + + + Makes a connection to the device, or throws an exception if the connection cannot be made. + + The stream to use to communicate with the device. + + + + Tries to make a connection to the device. + + The stream to use to communicate with the device. + true if the connection was successful. + + + + Returns the file system path of the device. + This can be used to check permissions on Linux hidraw, for instance. + + The file system path. + + + + Returns a name appropriate for display. + + The friendly name. + + + + Checks if a particular implementation detail, such as the use of the Linux hidraw API, applies to this device. + See for a list of possible details. + + The detail to check. + true if the implementation detail applies. + + + + The operating system's name for the device. + + If you have multiple devices with the same Vendor ID, Product ID, Serial Number, etc., + this may be useful for differentiating them. + + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + An integer identifying the error that has occurred. + The new . + + + + Initializes a new instance of the class, and associates a with it. + + The device that caused the exception. + A description of the error. + The new . + + + + Gets the associated with the exception, if any. + + The exception to get the associated for. + The associated , or null if none is associated with it. + + + + Provides a list of all available devices. + + + + + + + + Occurs when a device is connected or disconnected. + + + + + Initializes a new instance of the class. + + + + + Gets a list of all connected BLE devices. + + The device list. + + + + Gets a list of all connected HID devices. + + The device list. + + + + Gets a list of connected HID devices, filtered by some criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The filtered device list. + + + + Gets a list of all connected serial devices. + + The device list. + + + + Gets a list of all connected HID, BLE, and serial devices. + + The device list. + + + + Gets a list of connected devices, filtered by some criteria. + + The filter criteria. + The filtered device list. + + + + Gets the first connected HID device that matches specified criteria. + + The vendor ID, or null to not filter by vendor ID. + The product ID, or null to not filter by product ID. + The device release number in binary-coded decimal, or null to not filter by device release number. + The serial number, or null to not filter by serial number. + The device, or null if none was found. + + + + Gets the connected serial device with the specific device path or filesystem name. + + The device path or filesystem name. + The device, or null if none was found. + + + + Raises the event. + + + + + true if drivers are presently being installed. + + + + + The list of devices on this computer. + + + + + Occurs when the stream is closed. + + + + + Occurs when is true and another process or thread with higher priority + would like to open the stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the associated with this stream. + + + + + + + + + + + The maximum amount of time, in milliseconds, to wait for the device to send some data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + The maximum amount of time, in milliseconds, to wait for the device to receive the data. + + The default is 3000 milliseconds. + To disable the timeout, set this to . + + + + + An object storing user-defined data about the stream. + + + + + Represents a Bluetooth Low Energy device. + + + + + + + + + + + + + + Gets the associated with this stream. + + + + + Gets the associated with this stream. + + + + + + + + + + + Represents a USB HID class device. + + + + + + + + + + + + + + Returns the manufacturer name. + + + + + Returns the product name. + + + + + Returns the device serial number. + + + + + Returns the maximum input report length, including the Report ID byte. + If the device does not use Report IDs, the first byte will always be 0. + + + + + Returns the maximum output report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Returns the maximum feature report length, including the Report ID byte. + If the device does not use Report IDs, use 0 for the first byte. + + + + + Retrieves and parses the report descriptor of the USB device. + + The parsed report descriptor. + + + + Returns the raw report descriptor of the USB device. + + The raw report descriptor. + + + + Returns the serial ports of the composite USB device. + Currently this is only supported on Windows. + + Serial ports of the USB device. + + + + + + + + + + + + + The USB product ID. These are listed at: http://usb-ids.gowdy.us + + + + + The device release number. + + + + + The device release number, in binary-coded decimal. + + + + + + + + The USB vendor ID. These are listed at: http://usb-ids.gowdy.us + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Communicates with a USB HID class device. + + + + + + + + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the first byte. + + + + Sends a Get Feature setup request. + + The buffer to fill. Place the Report ID in the byte at index . + The index in the buffer to begin filling with data. + The number of bytes in the feature request. + + + + Reads HID Input Reports. + + The data read. + + + + Reads HID Input Reports. + + The buffer to place the reports into. + The number of bytes read. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the first byte. + + + + Sends a Set Feature setup request. + + The buffer of data to send. Place the Report ID in the byte at index . + The index in the buffer to start the write from. + The number of bytes in the feature request. + + + + Writes an HID Output Report to the device. + + The buffer containing the report. Place the Report ID in the first byte. + + + + Gets the associated with this stream. + + + + + Specifies the 's low-level implementation. + + + + + The device is running on Windows. + + + + + The device is running on a Mac. + + + + + The device is running on Linux. + + + + + The device is a Bluetooth Low Energy device. + + + + + The device is a HID device. + + + + + The device is a serial device. + + + + + The device is implemented using the Linux hidraw API. + + + + + Describes all options for opening a device stream. + + + + + Initializes a new instance of the class. + + + + + Gets the current value of an option. + + The option. + The option's value. + + + + Gets a list of all currently set options. + + The options list. + + + + Checks if an option has been set. + + The option. + true if the option has been set. + + + + Sets the current value of an option. + + The option. + The value to set it to. + + + + Options for opening a device stream. + + + + + Use HIDSharp's exclusivity layer. + This allows one process using HIDSharp to lock other processes out of using a HID device. + Processes may request interruption, allowing interprocess cooperation. + (For example, a data logging application can make itself interruptible and allow another process to use the HID device temporarily.) + + Defaults to false. + + + + + Allow other processes to send interruption requests. + If another other process with higher priority attempts to open the HID device this process is using, + this process will receive an event on an arbitrary thread. + + must be true for this to work. + Defaults to false. + + + + + The priority of the process. This is used for interruption requests. + must be true for this to work. + Defaults to . + + + + + The amount of time to wait for an interruptible process to give up the HID device before failing to open the stream. + Defaults to 3000 milliseconds. + + + + + The amount of time to wait for a transient process to give up the HID device before failing to open the stream. + Defaults to 30000 milliseconds. + + + + + If a HID device is opened by another process transiently, HIDSharp will wait some time for the process to give up the HID device before failing to open the stream. + + must be true for this to work. + Defaults to false. + + + + + The priority at which to open a device stream. + + + + + The lowest priority. + + + + + Very low priority. + + + + + Low priority. + + + + + The default priority. + + + + + High priority. + + + + + The highest priority. + + + + + No flags are set. + + + + + Constant values cannot be changed. + + + + + Each variable field corresponds to a particular value. + The alternative is an array, where each field specifies an index. + For example, with eight buttons, a variable field would have eight bits. + An array would have an index of which button is pressed. + + + + + Mouse motion is in relative coordinates. + Most sensors -- joysticks, accelerometers, etc. -- output absolute coordinates. + + + + + The value wraps around in a continuous manner. + + + + + Creates a appropriate for parsing reports for this device item. + + The new . + + Pair this with a for the . + + + + + Describes the manner in which an item affects the descriptor. + + + + + Main items determine the report being described. + For example, a main item switches between Input and Output reports. + + + + + Global items affect all reports later in the descriptor. + + + + + Local items only affect the current report. + + + + + Long items use this type. + + + + + Level-triggered. A momentary button. 0 indicates not pressed, 1 indicates pressed. + + + + + Level-triggered. Toggle buttons maintain their state. 0 indicates not pressed, 1 indicates pressed. + + + + + Edge-triggered. A 0-to-1 transition should activate the one-shot function. + + + + + Edge-triggered. Each report of -1 goes down. Each report of 1 goes up. + + + + + Parses a received report. + + The buffer to read the report from. + The offset to begin reading the report at. + the buffer conforms to. + true if the report is for this . + + + + The number of unique values in the . + + + + + Starts the receiver. It will continue until the stream is closed or the device is disconnected. + Be sure to call to read HID reports as they come in. + + The stream to receive on. + + + + Checks for pending HID reports. + + The buffer to write the report to. + The offset to begin writing the report at. + The the buffer conforms to. + true if there was a pending report. + + + + true if the receiver is running. + false if the receiver has stopped, or has not yet been started. + + + + + + The stream associated with this receiver. + + + + + + This will be signaled any time there is data, or when the receiver has stopped due to stream closure or device disconnect. + To clear the signal, call until there is no more data. + If the receiver has stopped, the signal cannot be cleared. + + + + + Reads and writes HID reports. + + + + + Initializes a new instance of the class. + + + + + Reads a HID report, calling back a provided function for each data item. + + The buffer containing the report. + The offset to begin reading the report at. + + This callback will be called for each data item. + Use this to read every value you need. + + + + + Writes a HID report, calling back a provided function for each data item. + + + This callback will be called for each report data item. + Write to each data item to write a complete HID report. + + + + + The length of this particular report. + The Report ID is included in this length. + + + + + The Report ID. + + + + + Parses HID report descriptors. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, and parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Creates an appropriate + for receiving reports from this device. + + The new . + + Pair this with a for your chosen . + + + + + Resets the parser to its initial state. + + + + + Updates derived data. + + + + + Parses a raw HID report descriptor. + + The buffer containing the report descriptor. + + + + Parses all of the elements in a report descriptor. + + The items to parse. + + + + Parses a single . + Call this repeatedly for every item to completely decode a report descriptor. + + The item to parse. + + + + The maximum input report length. + The Report ID is included in this length. + + + + + The maximum output report length. + The Report ID is included in this length. + + + + + The maximum feature report length. + The Report ID is included in this length. + + + + + True if the device sends Report IDs. + + + + + Each physical HID device exposes a number of collections corresponding to logical devices. + For a simple joystick, gamepad, etc. there will typically be one . Dual gamepad adapters will have two. + Keyboards often have one for their keys and at least one for their volume and media controls. + + + + + Defines the possible units of current. + + + + + The unit system has no unit of current. + + + + + The unit of current is the Ampere. + + + + + Defines the possible units of length. + + + + + The unit system has no unit of length. + + + + + The unit of length is the centimeter (occurs in the SI Linear unit system). + + + + + The unit of length is the radian (occurs in the SI Rotation unit system). + + + + + The unit of length is the inch (occurs in the English Linear unit system). + + + + + The unit of length is the degree (occurs in the English Rotation unit system). + + + + + Defines the possible units of luminous intensity. + + + + + The unit system has no unit of luminous intensity. + + + + + The unit of luminous intensity is the candela. + + + + + Defines the possible units of mass. + + + + + The unit system has no unit of mass. + + + + + The unit of mass is the gram (occurs in the SI Linear and Rotation unit systems). + + + + + The unit of mass is the slug (occurs in the English Linear and Rotation unit systems). + + + + + Defines the possible units of temperature. + + + + + The unit system has no unit of temperature. + + + + + The unit of temperature is Kelvin (occurs in SI Linear and Rotation unit systems). + + + + + The unit of temperature is Fahrenheit (occurs in English Linear and Rotation unit systems). + + + + + Defines the possible units of time. + + + + + The unit system has no unit of time. + + + + + The unit of time is seconds. + + + + + Describes the units of a report value. + + + + + Initializes a new instance of the class. + + The raw HID value describing the units. + + + + Decodes an encoded HID unit exponent. + + The encoded exponent. + The exponent. + + + + Encodes an exponent in HID unit form. + + The exponent. + The encoded exponent. + + + + Gets or sets the unit system. + + + + + Gets or sets the exponent of the report value's units of length. + + + + + Gets the units of length corresponding to . + + + + + Gets or sets the exponent of the report value's units of mass. + + + + + Gets the units of mass corresponding to . + + + + + Gets or sets the exponent of the report value's units of time. + + + + + Gets the units of time corresponding to . + + + + + Gets or sets the exponent of the report value's units of temperature. + + + + + Gets the units of temperature corresponding to . + + + + + Gets or sets the exponent of the report value's units of current. + + + + + Gets the units of current corresponding to . + + + + + Gets or sets the exponent of the report value's units of luminous intensity. + + + + + Gets the units of luminous intensity corresponding to . + + + + + Gets or sets the raw HID value describing the units. + + + + + Defines the possible unit systems. + + + + + No units are used. + + + + + The SI Linear unit system uses centimeters for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The SI Rotation unit system uses radians for length, grams for mass, seconds for time, + Kelvin for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Linear unit system uses inches for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + The English Rotation unit system uses degrees for length, slugs for mass, seconds for time, + Fahrenheit for temperature, Amperes for current, and candelas for luminous intensity. + + + + + See http://www.usb.org/developers/hidpage for additional HID Usage Tables. + + + + + Represents a serial device. + + + + + + + + + + + + + + + + + + + + + + + Communicates with a serial device. + + + + + + + + Gets the associated with this stream. + + + + + Converts USB device release numbers to and from binary-coded decimal. + + + + + Converts a USB device release number to binary-coded decimal. + + The device release number. + The device release number, in binary-coded decimal. + + + + Converts a USB device release number from binary-coded decimal. + + The device release number, in binary-coded decimal. + The device release number. + + + diff --git a/GK6X/HIDSharp/netstandard2.0/HidSharp.dll b/GK6X/HIDSharp/netstandard2.0/HidSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..40dbc29c25ef62f476fa6b6332320f8c2cecbd2a GIT binary patch literal 235952 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 OEAD!?@mJo5mHrRF!#E)T literal 0 HcmV?d00001 diff --git a/GK6X/KeyValues.cs b/GK6X/KeyValues.cs new file mode 100644 index 0000000..37622d7 --- /dev/null +++ b/GK6X/KeyValues.cs @@ -0,0 +1,556 @@ +using MiniJSON; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public static class KeyValues + { + public static List Groups = new List(); + public static Dictionary Keys = new Dictionary(); + public static Dictionary KeysByLogicCode = new Dictionary(); + + /// + /// These map full driver values (4 bytes long) to the individual driver key codes (1 byte long) + /// This is only for actual keys (things like VolumeUp don't appear here) + /// + public static Dictionary LongToShortDriverValues = new Dictionary(); + public static Dictionary ShortToLongDriverValues = new Dictionary(); + + /// + /// Unused key valey / invalid key value. Used for keys which aren't mapped on the keyboard. + /// + public const uint UnusedKeyValue = 0xFFFFFFFF; + + public static bool Load() + { + const string fileName = "keys.json"; + string filePath = Path.Combine(Program.DataBasePath, fileName); + + Groups.Clear(); + Keys.Clear(); + KeysByLogicCode.Clear(); + + LongToShortDriverValues.Clear(); + ShortToLongDriverValues.Clear(); + foreach (DriverValue value in Enum.GetValues(typeof(DriverValue))) + { + if (GetKeyType((uint)value) == DriverValueType.Key && + GetKeyModifier((uint)value) == DriverValueModifer.None) + { + byte shortValue = GetKeyData1((uint)value); + LongToShortDriverValues[(uint)value] = shortValue; + ShortToLongDriverValues[shortValue] = (uint)value; + } + } + + if (File.Exists(filePath)) + { + char[] driverValueSplitChars = { ',' }; + + List keyGroups = Json.Deserialize(File.ReadAllText(filePath)) as List; + foreach (object keyGroupObj in keyGroups) + { + Dictionary keyGroupMembers = keyGroupObj as Dictionary; + Group group = new Group(); + Groups.Add(group); + Json.TryGetValue(keyGroupMembers, "keytype", out group.KeyType); + Json.TryGetValue(keyGroupMembers, "pname", out group.PName); + string groupTitleLang; + if (Json.TryGetValue(keyGroupMembers, "title_lang", out groupTitleLang)) + { + group.Title = new LocalizedString(groupTitleLang); + } + List keyGroupKeys; + if (Json.TryGetValue(keyGroupMembers, "keys", out keyGroupKeys)) + { + // This is a bit of a mouthful... (array->map->array->map) + foreach (object lineKeysListObj in keyGroupKeys) + { + Dictionary lineKeysListDict = lineKeysListObj as Dictionary; + List lineKeysObjs; + if (Json.TryGetValue(lineKeysListDict, "linekeys", out lineKeysObjs)) + { + foreach (object lineKeysObj in lineKeysObjs) + { + Dictionary keyInfo = lineKeysObj as Dictionary; + + Key key = new Key(group); + long locationCode; + long logicCode; + string driverValueStr; + string langTitle; + Json.TryGetValue(keyInfo, "Name", out key.Name); + if (Json.TryGetValue(keyInfo, "LocationCode", out locationCode)) + { + key.LocationCode = (int)locationCode; + } + if (Json.TryGetValue(keyInfo, "LogicCode", out logicCode)) + { + key.LogicCode = (int)logicCode; + } + if (Json.TryGetValue(keyInfo, "DriverValue", out driverValueStr) && !string.IsNullOrEmpty(driverValueStr)) + { + if (driverValueStr.StartsWith("0x")) + { + long driverValue; + if (long.TryParse(driverValueStr.Substring(2), NumberStyles.HexNumber, null, out driverValue)) + { + key.DriverValue = (uint)driverValue; + if (Keys.ContainsKey(key.DriverValue)) + { + Debug.WriteLine("[WARNING] Duplicate key 0x" + key.DriverValue.ToString("X8") + " (" + fileName + ")"); + } + Keys[key.DriverValue] = key; + KeysByLogicCode[key.LogicCode] = key; + } + } + else + { + string[] splitted = driverValueStr.Split(driverValueSplitChars, StringSplitOptions.RemoveEmptyEntries); + key.DriverValueArray = new int[splitted.Length]; + for (int i = 0; i < splitted.Length; i++) + { + int.TryParse(splitted[i], out key.DriverValueArray[i]); + } + } + } + if (Json.TryGetValue(keyInfo, "LangTitle", out langTitle)) + { + key.Title = new LocalizedString(langTitle); + } + } + } + } + } + } + return true; + } + return false; + } + + public static DriverValueModifer GetKeyModifier(uint driverValue) + { + return (DriverValueModifer)GetKeyData2(driverValue); + } + + public static DriverValueType GetKeyType(uint driverValue) + { + return (DriverValueType)(driverValue >> 16); + } + + public static bool IsKeyModifier(uint driverValue) + { + return GetKeyType(driverValue) == DriverValueType.Key && + GetKeyModifier(driverValue) != DriverValueModifer.None && + GetKeyData1(driverValue) == 0; + } + + public static DriverValueMouseButton GetMouseButton(uint driverValue) + { + if (GetKeyType(driverValue) == DriverValueType.Mouse) + { + return (DriverValueMouseButton)GetKeyData2(driverValue); + } + return DriverValueMouseButton.None; + } + + /// + /// Used to hold the value of the key and modifier keys (as well as other things on other key types) + /// + public static ushort GetKeyData(uint driverValue) + { + return (ushort)(driverValue & 0xFFFF); + } + + /// + /// Used to hold the actual value of the key + /// + public static byte GetKeyData1(uint driverValue) + { + return (byte)((driverValue >> 8) & 0xFF); + } + + /// + /// Used to hold additional data (such as the modifiers / macro index / keyboard layer / mouse button) + /// + public static byte GetKeyData2(uint driverValue) + { + return (byte)(driverValue & 0xFF); + } + + public static byte GetShortDriverValue(uint longValue) + { + byte result; + LongToShortDriverValues.TryGetValue(longValue, out result); + return result; + } + + public static uint GetLongDriverValue(byte shortValue) + { + uint result; + ShortToLongDriverValues.TryGetValue(shortValue, out result); + return result; + } + + public class Group + { + public string KeyType; + public string PName; + public LocalizedString Title; + public List Keys; + + public Group() + { + Keys = new List(); + } + } + + public class Key + { + /// + /// The owning group + /// + public Group Group; + /// + /// Where the key appears visually + /// + public int LocationCode; + /// + /// Where the index of the key as defined in the keyboard profile.json + /// + public int LogicCode; + /// + /// The name of the key + /// + public string Name; + /// + /// The localized name of the key (can be null) + /// + public LocalizedString Title; + /// + /// The key value which the keyboard firmware understands + /// + public uint DriverValue; + /// + /// Used for disabling multiple keys + /// + public int[] DriverValueArray; + + public Key(Group group) + { + LocationCode = -1; + LogicCode = -1; + DriverValue = UnusedKeyValue; + Group = group; + group.Keys.Add(this); + } + } + } + + // Fn key note: + // There isn't any way to reprogram the Fn key. It's technically possible to assign a key to the Fn key but the + // base functionality of the Fn key cannot be overridden. Assigning a key to the Fn key only works on the Fn key set + // as pressing Fn instantly switches to the Fn key set. Assigning a key to the Fn key in this way is completely + // pointless, but it gives some insight into how things work. + + // Base layer note: + // The base layer is programmable, but the Fn key on base layer doesn't seem to be (possibly disabled out of fear + // that a user would unknowingly lock themselves out somehow?) This kind of sucks! + + /// + /// The key driver values as defined in the files + /// + public enum DriverValue : uint + { + None = 0, + + /////////////////////////// + // primary + /////////////////////////// + + Esc = 0x02002900, + /// + /// Disables the key + /// + Disabled = 0x02000000, + F1 = 0x02003A00, + F2 = 0x02003B00, + F3 = 0x02003C00, + F4 = 0x02003D00, + F5 = 0x02003E00, + F6 = 0x02003F00, + F7 = 0x02004000, + F8 = 0x02004100, + F9 = 0x02004200, + F10 = 0x02004300, + F11 = 0x02004400, + F12 = 0x02004500, + PrintScreen = 0x02004600,//PS + ScrollLock = 0x02004700,//SL + Pause = 0x02004800,//PB + // --- end line --- + /// + /// '`' key (backtick/grave/tilde) + /// + BackTick = 0x02003500, + // D = decimal (base 10) + D1 = 0x02001E00, + D2 = 0x02001F00, + D3 = 0x02002000, + D4 = 0x02002100, + D5 = 0x02002200, + D6 = 0x02002300, + D7 = 0x02002400, + D8 = 0x02002500, + D9 = 0x02002600, + D0 = 0x02002700, + Subtract = 0x02002D00, + Add = 0x02002E00, + Backspace = 0x02002A00, + Insert = 0x02004900, + Home = 0x02004A00, + PageUp = 0x02004B00, + // --- end line --- + Tab = 0x02002B00, + Q = 0x02001400, + W = 0x02001A00, + E = 0x02000800, + R = 0x02001500, + T = 0x02001700, + Y = 0x02001C00, + U = 0x02001800, + I = 0x02000C00, + O = 0x02001200, + P = 0x02001300, + OpenSquareBrace = 0x02002F00, + CloseSquareBrace = 0x02003000, + Backslash = 0x02003100,// also 0x02003200 + Delete = 0x02004C00, + End = 0x02004D00, + PageDown = 0x02004E00, + // --- end line --- + CapsLock = 0x02003900, + A = 0x02000400, + S = 0x02001600, + D = 0x02000700, + F = 0x02000900, + G = 0x02000A00, + H = 0x02000B00, + J = 0x02000D00, + K = 0x02000E00, + L = 0x02000F00, + Semicolon = 0x02003300, + Quotes = 0x02003400, + Enter = 0x02002800, + // --- end line --- + LShift = 0x02000002, + /// + /// Key between left shift and Z + /// + AltBackslash = 0x02006400, + Z = 0x02001D00, + X = 0x02001B00, + C = 0x02000600, + V = 0x02001900, + B = 0x02000500, + N = 0x02001100, + M = 0x02001000, + Comma = 0x02003600, + Period = 0x02003700, + /// + /// /? + /// + Slash = 0x02003800, + RShift = 0x02000020, + Up = 0x02005200, + LCtrl = 0x02000001, + LWin = 0x02000008, + LAlt = 0x02000004, + Space = 0x02002C00, + RAlt = 0x02000040, + RWin = 0x02000080, + Menu = 0x02006500, + RCtrl = 0x02000010, + Left = 0x02005000, + Down = 0x02005100, + Right = 0x02004F00, + + /////////////////////////// + // numpad + /////////////////////////// + + NumLock = 0x02005300, + NumPadSlash = 0x02005400, + NumPadAsterisk = 0x02005500, + NumPadSubtract = 0x02005600, + // --- end line --- + NumPad7 = 0x02005F00,// home + NumPad8 = 0x02006000,// up + NumPad9 = 0x02006100,// pageup + NumPadAdd = 0x02005700, + // --- end line --- + NumPad4 = 0x02005C00,// left + NumPad5 = 0x02005D00, + NumPad6 = 0x02005E00,// right + // --- end line --- + NumPad1 = 0x02005900,// end + NumPad2 = 0x02005A00,// down + NumPad3 = 0x02005B00,// pagedown + // --- end line --- + NumPad0 = 0x02006200, + NumPadPeriod = 0x02006300,// del + NumPadEnter = 0x02005800, + + /////////////////////////// + // media + /////////////////////////// + + OpenMediaPlayer = 0x03000183, + MediaPlayPause = 0x030000CD, + MediaStop = 0x030000B7, + // --- end line --- + MediaPrevious = 0x030000B6, + MediaNext = 0x030000B5, + // --- end line --- + VolumeUp = 0x030000E9, + VolumeDown = 0x030000EA, + VolumeMute = 0x030000E2, + + /////////////////////////// + // system + /////////////////////////// + + BrowserSearch = 0x03000221, + BrowserStop = 0x03000226, + BrowserBack = 0x03000224, + BrowserForward = 0x03000225, + BrowserRefresh = 0x03000227, + BrowserFavorites = 0x0300022A, + BrowserHome = 0x03000223, + // --- end line --- + OpenEmail = 0x0300018A, + OpenMyComputer = 0x03000194, + OpenCalculator = 0x03000192, + // --- end line --- + Copy = 0x02000601, + Paste = 0x02001901, + Screenshot = 0x02004600, + + /////////////////////////// + // mouse + /////////////////////////// + + MouseLClick = 0x01010001, + MouseRClick = 0x01010002, + MouseMClick = 0x01010004, + MouseBack = 0x01010008, + MouseAdvance = 0x01010010, + + /////////////////////////// + // keyboard layers (temporary switch) + /////////////////////////// + + TempSwitchLayerBase = 0x0a070001,// std / standard + TempSwitchLayer1 = 0x0a070002, + TempSwitchLayer2 = 0x0a070003, + TempSwitchLayer3 = 0x0a070004, + TempSwitchLayerDriver = 0x0a070005,// TODO: Verify this exists + + /////////////////////////// + // The following values aren't defined in any files in the GK6X software + /////////////////////////// + + // https://www.w3.org/TR/uievents-code/ + + Power = 0x02006600,// keycode 255 (w3:"Power") + Clear = 0x02006700,// The CLEAR key + F13 = 0x02006800, + F14 = 0x02006900, + F15 = 0x02006A00, + F16 = 0x02006B00, + F17 = 0x02006C00, + F18 = 0x02006D00, + F19 = 0x02006E00, + F20 = 0x02006F00, + F21 = 0x02007000, + F22 = 0x02007100, + F23 = 0x02007200, + F24 = 0x02007300, + NumPadComma = 0x02008500,// keycode 194 (w3:"NumpadComma") + IntlRo = 0x02008700,// keycode 193 (w3:"IntlRo") + KanaMode = 0x02008800,// keycode 255 (w3:"KanaMode") + IntlYen = 0x02008900,// keycode 255 (w3:"IntlYen") + Convert = 0x02008A00,// keycode 255 (w3:"Convert") + NonConvert = 0x02008B00,// keycode 235 (w3:"NonConvert") + //0x02008C00,// keycode 234 - not sure what this is + Lang3 = 0x02009200,// keycode 255 (w3:"Lang3") + Lang4 = 0x02009300,// keycode 255 (w3:"Lang4") + //F24 = 0x02009400,// keycode 135 (w3:"F24") (duplicate) + + ToggleLockWindowsKey = 0x0A020002,// Toggles a lock on the windows key + ToggleBluetooth = 0x0A020007, + ToggleBluetoothNoLED = 0x0A020008,// Toggles bluetooth (and disables the bluetooth LED until manually toggled) + + // These are the same as pressing the layer buttons (pressing the button whilst it's active takes you to the base layer) + // If you want to temporarily switch you should use the TempSwitchXXXX versions instead + DriverLayerButton = 0x0A060001, + Layer1Button = 0x0A060002, + Layer2Button = 0x0A060003, + Layer3Button = 0x0A060004, + + // 0x0A0700XX seem to do weird things with the lighting (resetting current lighting effect, disabling lighting for + // as long as you hold down a key) - but these also seem to soft lock the keyboard shortly after, until you replug it + + // TODO: Find Bluetooth buttons 1-3 + // TODO: Find keyboard LED brightness +/- + // TODO: Find keyboard LED effect speed +/- + // TODO: Find value for switching lighting effect modes (1-5) + // TODO: Find value for switching reactive lighting effect modes (1-5) + // TODO: Find Fn value (if it even exists) + // TODO: Find flash memory value (if it even exists) + } + + public enum DriverValueType : ushort + { + None = 0, + Mouse = 0x0101, + Key = 0x0200, + /// + /// Open "My Computer", calculator, etc + /// + System = 0x0300, + Macro = 0x0A01, + TempSwitchLayer = 0x0A07, + } + + [Flags] + public enum DriverValueModifer + { + None, + LCtrl = 0x01, + LShift = 0x02, + LAlt = 0x04, + LWin = 0x08, + RCtrl = 0x10, + RShift = 0x20, + RAlt = 0x40, + RWin = 0x80 + } + + [Flags] + public enum DriverValueMouseButton + { + None, + LButton = 0x01, + RButton = 0x02, + MButton = 0x04, + Back = 0x08, + Advance = 0x10 + } +} diff --git a/GK6X/KeyboardDevice.cs b/GK6X/KeyboardDevice.cs new file mode 100644 index 0000000..af3eb3c --- /dev/null +++ b/GK6X/KeyboardDevice.cs @@ -0,0 +1,451 @@ +using HidSharp; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; + +namespace GK6X +{ + public class KeyboardDevice : IDisposable + { + internal HidDevice device; + internal HidStream stream; + public KeyboardState State { get; internal set; } + public bool IsClosed { get; private set; } + private int lastSentMessage; + private object locker = new object(); + + public void Close() + { + Dispose(); + } + + public void Dispose() + { + IsClosed = true; + try + { + if (stream != null) + { + stream.Close(); + } + stream = null; + device = null; + } + catch + { + } + } + + internal void StartPingThread() + { + stream.InterruptRequested += Stream_InterruptRequested; + ThreadPool.QueueUserWorkItem((object obj) => + { + while (!IsClosed) + { + int tick = Environment.TickCount; + if (tick < lastSentMessage || tick - 300 > lastSentMessage) + { + SendPing(); + if (tick - 2000 > lastSentMessage) + { + Close(); + break; + } + } + Thread.Sleep(100); + } + }); + } + + private void Stream_InterruptRequested(object sender, EventArgs e) + { + } + + private void SendPing() + { + WritePacketNoResponse(OpCodes.Ping, 0, null); + } + + public void SetLayer(KeyboardLayer layer) + { + WritePacketNoResponse(OpCodes.SetLayer, (byte)layer, null); + } + + public void SetLighting(KeyboardLayer layer, UserDataFile userData) + { + List lightingEffects = userData.GetLightingEffects(layer); + if (lightingEffects.Count > 0 || userData.NoLighting || userData.NoLightingLayers.Contains(layer)) + { + WritePacketNoResponse(OpCodes.LayerResetDataType, (byte)layer, null, (byte)KeyboardLayerDataType.Lighting); + } + if (lightingEffects.Count > 0) + { + using (Packet packet = new Packet()) + { + const int maxEffects = UserDataFile.LightingEffect.MaxEffects; + packet.WriteBytes(new byte[maxEffects * (4 * 4)]); + List> dataOffsets = new List>(); + + for (int i = 0; i < Math.Min(maxEffects, lightingEffects.Count); i++) + { + UserDataFile.LightingEffect lightingEffect = lightingEffects[i]; + if (lightingEffect != null) + { + int data1Offset = packet.Index; + int data1Count = 0; + switch (lightingEffect.Type) + { + case LightingEffectType.Static: + { + data1Count = 1; + packet.WriteUInt16((ushort)lightingEffect.Type); + packet.WriteUInt16((ushort)(UserDataFile.LightingEffect.NumStaticLightingBytes)); + uint[] keyColors = new uint[UserDataFile.LightingEffect.NumStaticLightingBytes / 4]; + foreach (KeyValuePair keyColor in lightingEffect.KeyColors) + { + keyColors[keyColor.Key] = keyColor.Value; + } + foreach (uint color in keyColors) + { + packet.WriteUInt32(color); + } + } + break; + case LightingEffectType.Dynamic: + { + data1Count = lightingEffect.TotalFrames; + foreach (UserDataFile.LightingEffect.Frame frame in lightingEffect.Frames) + { + for (int j = 0; j < frame.Count; j++) + { + packet.WriteUInt16((ushort)lightingEffect.Type); + packet.WriteUInt16(22);// 22 bytes of data (176 bits) + byte[] byteBits = new byte[22]; + foreach (int keyCode in frame.KeyCodes) + { + int byteIndex = keyCode / 8; + int bitIndex = keyCode % 8; + byteBits[byteIndex] |= (byte)(1 << bitIndex); + } + packet.WriteBytes(byteBits); + } + } + } + break; + } + + int data2Offset = packet.Index; + int data2Count = 0; + switch (lightingEffect.Type) + { + case LightingEffectType.Static: + data2Offset = 0; + data2Count = 0; + break; + case LightingEffectType.Dynamic: + data2Count = lightingEffect.Params.Count; + foreach (UserDataFile.LightingEffect.Param param in lightingEffect.Params) + { + packet.WriteByte((byte)param.ColorType); + packet.WriteByte(32);// The size of the param buffer? (total size including self) + + // The keys impacted by the param (as a bit array) + byte[] byteBits = new byte[22]; + foreach (int keyCode in param.Keys) + { + int byteIndex = keyCode / 8; + int bitIndex = keyCode % 8; + byteBits[byteIndex] |= (byte)(1 << bitIndex); + } + packet.WriteBytes(byteBits); + + packet.WriteUInt32(param.Color); + if (param.UseRawValues) + { + packet.WriteUInt16((ushort)param.Val1); + packet.WriteUInt16((ushort)param.Val2); + } + else + { + switch (param.ColorType) + { + case LightingEffectColorType.Breathing: + packet.WriteUInt16((ushort)(param.Val1 == 0 ? 0 : 100 / param.Val1)); + packet.WriteUInt16((ushort)param.Val2);// "StayCount" + break; + default: + // NOTE: RGB values seem to use 0x26 for the 2nd value? Is this just a random uninitialized variable? + packet.WriteUInt16((ushort)(param.Val1 == 0 ? 0 : 360 / param.Val1)); + packet.WriteUInt16(0); + break; + } + } + } + break; + } + + dataOffsets.Add(new Tuple(data1Offset, data1Count, data2Offset, data2Count)); + } + } + + int tempIndex = packet.Index; + packet.Index = 0; + for (int i = 0; i < maxEffects; i++) + { + Tuple offsets = i < lightingEffects.Count ? dataOffsets[i] : null; + if (offsets != null) + { + packet.WriteInt32(offsets.Item1); + packet.WriteInt32(offsets.Item2); + packet.WriteInt32(offsets.Item3); + packet.WriteInt32(offsets.Item4); + } + else + { + packet.WriteInt32(-1); + packet.WriteInt32(-1); + packet.WriteInt32(-1); + packet.WriteInt32(-1); + } + } + packet.Index = tempIndex; + WritePacketNoResponse(OpCodes.LayerSetLightValues, (byte)layer, packet); + } + } + } + + public void SetMacros(KeyboardLayer layer, UserDataFile userData) + { + WritePacketNoResponse(OpCodes.LayerResetDataType, (byte)layer, null, (byte)KeyboardLayerDataType.Macros); + if (userData.GetNumMacros(layer) == 0) + { + return; + } + using (Packet packet = new Packet()) + { + // TODO: This should be improved to only send the macros to the layers that require the macro + foreach (UserDataFile.Macro macro in userData.Macros.Values) + { + if (macro.Id < 0) + { + continue; + } + if (macro.Actions.Count * 2 > byte.MaxValue) + { + Program.Log("Macro '" + macro.Name + "' has too many actions (" + macro.Actions.Count + + ", limit is " + (byte.MaxValue / 2) + ")"); + continue; + } + if (macro.Actions.Count == 0 && macro.Id >= 0) + { + Program.Log("Macro '" + macro.Name + "' doesn't have any actions!"); + continue; + } + + packet.WriteUInt16(0x55AA);// Macro magic (21930 / 0x55AA / AA 55) + + // Crc to be filled out once all data is written + int crcIndex = packet.Index; + packet.WriteUInt16(0); + + byte numActionInts = (byte)((macro.Actions.Count * 2) - (macro.UseTrailingDelay ? 0 : 1)); + packet.WriteByte(numActionInts); + packet.WriteByte((byte)macro.Id); + packet.WriteByte((byte)macro.RepeatType); + packet.WriteByte(macro.RepeatCount); + + int crcDataStartIndex = packet.Index; + int crcDataEndIndex = packet.Index + (numActionInts * 4); + + for (int i = 0; i < 63; i++) + { + if (i < macro.Actions.Count) + { + UserDataFile.Macro.Action action = macro.Actions[i]; + packet.WriteByte(action.KeyCode); + packet.WriteByte((byte)action.Modifier); + packet.WriteByte((byte)action.State); + packet.WriteByte((byte)action.Type); + + if (i < macro.Actions.Count - 1 || (macro.UseTrailingDelay && i == macro.Actions.Count - 1)) + { + packet.WriteUInt16(action.Delay); + packet.WriteByte(0);// Always 0? + packet.WriteByte(3);// Always 3? + } + else + { + packet.WriteInt32(0); + } + } + else + { + packet.WriteInt64(0); + } + } + + byte[] buffer = packet.GetBuffer(); + byte[] bytesToCrc = new byte[crcDataEndIndex - crcDataStartIndex]; + Buffer.BlockCopy(buffer, crcDataStartIndex, bytesToCrc, 0, bytesToCrc.Length); + ushort crc = Crc16.GetCrc(bytesToCrc); + + int tempIndex = packet.Index; + packet.Index = crcIndex; + packet.WriteUInt16(crc); + packet.Index = tempIndex; + } + WritePacketNoResponse(OpCodes.LayerSetMacros, (byte)layer, packet); + } + } + + public void SetKeys(KeyboardLayer layer, uint[] values, bool fn) + { + WritePacketNoResponse(OpCodes.LayerResetDataType, (byte)layer, null, + (byte)(fn ? KeyboardLayerDataType.FnKeySet : KeyboardLayerDataType.KeySet)); + using (Packet packet = new Packet()) + { + foreach (uint driverValue in values) + { + packet.WriteUInt32(driverValue); + } + WritePacketNoResponse(fn ? OpCodes.LayerFnSetKeyValues : OpCodes.LayerSetKeyValues, (byte)layer, packet); + } + } + + public void WritePacketNoResponse(OpCodes op1, byte op2, Packet packet, byte op3 = 0) + { + using (Packet response = new Packet()) + using (Packet result = WritePacket(op1, op2, packet, op3)) + { + } + } + + public Packet WritePacket(OpCodes op1, byte op2, Packet packet, byte op3 = 0) + { + lock (locker) + { + int numPackets = 1; + int offset = 0; + byte[] completeBuffer = null; + if (packet != null) + { + completeBuffer = packet.GetWrittenBuffer(); + numPackets = (completeBuffer.Length / 0x38) + 1; + } + + bool allowsLongOffset = false; + int offsetOffset = 2; + int lengthOffset = 4; + switch (op1) + { + case OpCodes.DriverLayerUpdateRealtimeLighting: + case OpCodes.LayerSetLightValues: + case OpCodes.DriverLayerSetKeyValues: + offsetOffset = 2; + lengthOffset = 5; + allowsLongOffset = true; + break; + case OpCodes.LayerSetKeyPressLightingEffect: + case OpCodes.LayerSetKeyValues: + case OpCodes.LayerFnSetKeyValues: + offsetOffset = 2; + lengthOffset = 4; + break; + } + + const int reportHeaderLen = 1; + + try + { + for (int i = 0; i < numPackets; i++) + { + byte[] report = new byte[65]; + report[1] = (byte)op1; + report[2] = op2; + if (op3 > 0) + { + // Not really an op, used for setting keyboard data buffers + report[3] = op3; + } + if (completeBuffer != null) + { + int numBytesToWrite = Math.Min(0x38, completeBuffer.Length - offset); + Buffer.BlockCopy(completeBuffer, offset, report, reportHeaderLen + 8, numBytesToWrite); + if (numPackets > 1) + { + report[reportHeaderLen + offsetOffset + 0] = (byte)offset; + report[reportHeaderLen + offsetOffset + 1] = (byte)(offset >> 8); + if (allowsLongOffset) + { + report[reportHeaderLen + offsetOffset + 3] = (byte)(offset >> 16); + } + report[reportHeaderLen + lengthOffset] = (byte)numBytesToWrite; + } + } + Crc16.InsertCrc(report, reportHeaderLen, 6 + reportHeaderLen); + stream.Write(report); + + byte[] resultBuffer = GetResponse((byte)op1, op2); + if (resultBuffer[0] != (byte)op1/* || resultBuffer[1] != op2*/) + { + return null; + } + if (!Crc16.ValidateCrc(resultBuffer)) + { + return null; + } + if (i == numPackets - 1) + { + Packet result = new Packet(true, resultBuffer); + result.Index = 8; + lastSentMessage = Environment.TickCount; + return result; + } + offset += 0x38; + } + } + catch + { + return null; + } + return null; + } + } + + private byte[] GetResponse(byte op1, byte op2) + { + // This is a bit of a hack to consume any packets sent from the keyboard which we didn't request + // such as changing the keyboard layer manually. TODO: Add a proper packet handler and remove this hack. + const int reportHeaderLen = 1; + while (true) + { + byte[] resultBufferWithReportId = new byte[65]; + try + { + stream.Read(resultBufferWithReportId); + } + catch + { + return null; + } + if (resultBufferWithReportId[0] != 0) + { + return null; + } + if (resultBufferWithReportId[1] == op1) + { + byte[] resultBuffer = new byte[64]; + Buffer.BlockCopy(resultBufferWithReportId, 1, resultBuffer, 0, resultBuffer.Length); + return resultBuffer; + } + else if (!Crc16.ValidateCrc(resultBufferWithReportId, reportHeaderLen, reportHeaderLen + 6)) + { + return null; + } + } + } + } +} diff --git a/GK6X/KeyboardDeviceManager.cs b/GK6X/KeyboardDeviceManager.cs new file mode 100644 index 0000000..890141c --- /dev/null +++ b/GK6X/KeyboardDeviceManager.cs @@ -0,0 +1,272 @@ +using HidSharp; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public delegate void KeyboardDeviceConnected(KeyboardDevice device); + public delegate void KeyboardDeviceDisconnected(KeyboardDevice device); + + public static class KeyboardDeviceManager + { + // vendorid, productids + internal static Dictionary knownProducts = new Dictionary() + { + { 7847,// (0x1EA7) SEMITEK INTERNATIONAL (HK) HOLDING LTD. + new ushort[] + { + 2311,// (0x907) GK6X + } + }, + }; + + /// + /// Device path (string) -> KeyboardDevice + /// + private static Dictionary connectedDevices = new Dictionary(); + public static event KeyboardDeviceConnected Connected; + public static event KeyboardDeviceConnected Disconnected; + + private static bool isListening = false; + + public static void StartListener() + { + lock (connectedDevices) + { + if (!isListening) + { + RefreshConnectedDevices(); + DeviceList.Local.Changed += Local_Changed; + isListening = true; + } + } + } + + public static void StopListener() + { + lock (connectedDevices) + { + if (isListening) + { + DeviceList.Local.Changed -= Local_Changed; + // Create a copy of the connected devices collection so that we can remove the devices as we iterate + foreach (KeyboardDevice device in connectedDevices.Values.ToList()) + { + device.Close(); + } + isListening = false; + } + } + } + + private static void Local_Changed(object sender, DeviceListChangedEventArgs e) + { + RefreshConnectedDevices(); + } + + public static KeyboardDevice[] GetConnectedDevices() + { + lock (connectedDevices) + { + return connectedDevices.Values.ToArray(); + } + } + + public static void RefreshConnectedDevices() + { + lock (connectedDevices) + { + foreach (HidDevice device in DeviceList.Local.GetHidDevices()) + { + if (connectedDevices.ContainsKey(device.DevicePath)) + { + continue; + } + + // I *think* 65 is used by all GK6X keyboards + const int reportLength = 65; + ushort[] productIds; + if (device.GetMaxInputReportLength() == reportLength && + device.GetMaxOutputReportLength() == reportLength && + knownProducts.TryGetValue((ushort)device.VendorID, out productIds) && + productIds.Contains((ushort)device.ProductID)) + { + HidStream stream; + if (device.TryOpen(out stream)) + { + if (!stream.CanWrite) + { + stream.Close(); + continue; + } + + KeyboardState keyboardState = Handshake(stream); + if (keyboardState != null) + { + KeyboardDevice keyboardDevice = new KeyboardDevice(); + keyboardDevice.State = keyboardState; + keyboardDevice.stream = stream; + keyboardDevice.device = device; + connectedDevices[device.DevicePath] = keyboardDevice; + stream.Closed += (object sender, EventArgs e) => + { + keyboardDevice.Close(); + lock (connectedDevices) + { + connectedDevices.Remove(device.DevicePath); + } + if (Disconnected != null) + { + Disconnected(keyboardDevice); + } + }; + if (Connected != null) + { + Connected(keyboardDevice); + } + keyboardDevice.StartPingThread(); + } + else + { + Console.WriteLine("Keyboard handshake failed"); + stream.Close(); + } + } + } + } + } + } + + private static KeyboardState Handshake(HidStream stream) + { + try + { + byte bufferSizeA; + byte bufferSizeB; + uint firmwareId; + byte firmwareMinorVersion; + byte firmwareMajorVersion; + uint modelId; + using (Packet packet = WriteSimplePacket(stream, 0x0901)) + { + if (packet == null) + { + LogHandshakeFailed(stream.Device, "opcode 01 09"); + return null; + } + bufferSizeA = packet.ReadByte(); + bufferSizeB = packet.ReadByte(); + if (bufferSizeA == 0 || bufferSizeB == 0) + { + LogHandshakeFailed(stream.Device, "Bad buffer size"); + return null; + } + } + using (Packet packet = WriteSimplePacket(stream, 0x0101)) + { + if (packet == null) + { + LogHandshakeFailed(stream.Device, "opcode 01 01"); + return null; + } + firmwareId = packet.ReadUInt32(); + firmwareMinorVersion = packet.ReadByte(); + firmwareMajorVersion = packet.ReadByte(); + if (firmwareId == 0 || (firmwareMinorVersion == 0 && firmwareMajorVersion == 0)) + { + LogHandshakeFailed(stream.Device, "Bad firmware id"); + return null; + } + } + using (Packet packet = WriteSimplePacket(stream, 0x0801)) + { + if (packet == null) + { + LogHandshakeFailed(stream.Device, "opcode 01 08"); + return null; + } + byte[] crcBytes = packet.ReadBytes(6); + ushort calculatedModelIdCrc = Crc16.GetCrc(crcBytes); + packet.Index -= 6; + modelId = packet.ReadUInt32(); + if (modelId == 0) + { + LogHandshakeFailed(stream.Device, "Bad keyboard model id"); + return null; + } + ushort crcValidation1 = packet.ReadUInt16(); + ushort modelIdCrc = packet.ReadUInt16(); + if (calculatedModelIdCrc != modelIdCrc) + { + LogHandshakeFailed(stream.Device, "Bad keyboard model crc"); + return null; + } + } + // OpCodes_Info.Unk_02 should probably also be sent? Not sure what it's used for though... + + KeyboardState result = KeyboardState.GetKeyboardState(modelId); + if (result == null || result.FirmwareId != firmwareId) + { + LogHandshakeFailed(stream.Device, "Couldn't find data for keyboard"); + return null; + } + result.FirmwareMinorVersion = firmwareMinorVersion; + result.FirmwareMajorVersion = firmwareMajorVersion; + result.InitializeBuffers(bufferSizeA, bufferSizeB); + return result; + } + catch (Exception e) + { + LogHandshakeFailed(stream.Device, "Exception occured. " + e); + return null; + } + } + + private static Packet WriteSimplePacket(HidStream stream, ushort opcode) + { + using (Packet packet = new Packet()) + { + packet.WriteByte(0);// report id + packet.WriteUInt16(opcode); + packet.WriteBytes(new byte[62]); + byte[] buffer = packet.GetWrittenBuffer(); + Crc16.InsertCrc(buffer, 1, 7);// offset for the report id byte + stream.Write(buffer); + + byte[] resultBufferWithReportId = new byte[65]; + stream.Read(resultBufferWithReportId); + if (resultBufferWithReportId[0] != 0) + { + return null; + } + byte[] resultBuffer = new byte[64]; + Buffer.BlockCopy(resultBufferWithReportId, 1, resultBuffer, 0, resultBuffer.Length); + // All handshake packets should have a result code of 1 + if (resultBuffer[2] != 1 || + resultBuffer[0] != (byte)opcode || resultBuffer[1] != opcode >> 8) + { + return null; + } + if (!Crc16.ValidateCrc(resultBuffer)) + { + return null; + } + Packet result = new Packet(true, resultBuffer); + result.Index = 8; + return result; + } + } + + private static void LogHandshakeFailed(HidDevice device, string str) + { + Log("Handshake failed (" + device.GetFriendlyName() + ") " + str); + } + + internal static void Log(string str) + { + Program.Log(str); + } + } +} diff --git a/GK6X/KeyboardState.cs b/GK6X/KeyboardState.cs new file mode 100644 index 0000000..7e8304c --- /dev/null +++ b/GK6X/KeyboardState.cs @@ -0,0 +1,334 @@ +using MiniJSON; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public class KeyboardState + { + internal static Dictionary KeyboardStatesByModelId = new Dictionary(); + + public uint FirmwareId; + public byte FirmwareMajorVersion; + public byte FirmwareMinorVersion; + public ushort FirmwaresVersionU16 + { + get { return (ushort)((FirmwareMajorVersion << 8) | FirmwareMinorVersion); } + } + public string FirmwareVersion + { + get { return "v" + FirmwareMajorVersion + "." + FirmwareMinorVersion; } + } + public uint ModelId; + public string ModelName;// This isn't localized anywhere + + public Dictionary Layers = new Dictionary(); + private byte bufferSizeA; + private byte bufferSizeB; + + /// + /// The maximum value for a LogicCode understood by the keyboard. + /// NOTE: Some logic codes are unused within this range. + /// + public int MaxLogicCode + { + get { return bufferSizeA * bufferSizeB; } + } + + public bool HasInitializedBufferes + { + get { return MaxLogicCode > 0; } + } + + public Dictionary KeysByLocationCode = new Dictionary(); + public Dictionary KeysByLogicCode = new Dictionary(); + public Dictionary DriverValueToLocationCode = new Dictionary(); + + public static bool Load() + { + string modelListPath = Path.Combine(Program.DataBasePath, "device", "modellist.json"); + List models = Json.Deserialize(File.ReadAllText(modelListPath)) as List; + if (models != null) + { + foreach (object modelObj in models) + { + Dictionary model = modelObj as Dictionary; + long modelId; + long fwid; + string name; + string leType; + string fwidStr; + if (Json.TryGetValue(model, "ModelID", out modelId) && + Json.TryGetValue(model, "FWID", out fwidStr) && + Json.TryGetValue(model, "Name", out name) && + Json.TryGetValue(model, "LEType", out leType) && + fwidStr.StartsWith("0x") && + long.TryParse(fwidStr.Substring(2), NumberStyles.HexNumber, null, out fwid)) + { + KeyboardState keyboardState = new KeyboardState(); + keyboardState.ModelId = (uint)modelId; + keyboardState.FirmwareId = (uint)fwid; + keyboardState.ModelName = name; + keyboardState.LoadKeys(); + KeyboardStatesByModelId[keyboardState.ModelId] = keyboardState; + } + } + return true; + } + return false; + } + + public static KeyboardState GetKeyboardState(uint modelId) + { + KeyboardState result; + KeyboardStatesByModelId.TryGetValue(modelId, out result); + return result; + } + + public void InitializeBuffers(byte sizeA, byte sizeB) + { + Layers.Clear(); + bufferSizeA = 0; + bufferSizeB = 0; + + if (FirmwareId == 0 || ModelId == 0) + { + return; + } + + this.bufferSizeA = sizeA; + this.bufferSizeB = sizeB; + + CreateFactoryDefaultLayers(); + } + + private void CreateFactoryDefaultLayers() + { + CreateLayer(KeyboardLayer.Base, null); + CreateLayer(KeyboardLayer.Driver, null); + CreateLayer(KeyboardLayer.Layer1, null); + CreateLayer(KeyboardLayer.Layer2, null); + CreateLayer(KeyboardLayer.Layer3, null); + } + + private void CreateLayer(KeyboardLayer layer, Dictionary modelData) + { + KeyboardStateLayer state = new KeyboardStateLayer(); + Layers[layer] = state; + + string profileLayerName = string.Empty; + switch (layer) + { + case KeyboardLayer.Driver: + profileLayerName = "_online_1"; + break; + case KeyboardLayer.Layer1: + profileLayerName = "_offline_1"; + break; + case KeyboardLayer.Layer2: + profileLayerName = "_offline_2"; + break; + case KeyboardLayer.Layer3: + profileLayerName = "_offline_3"; + break; + } + string profilePath = Path.Combine(Program.DataBasePath, "device", ModelId.ToString(), + "data", "profile" + profileLayerName + ".json"); + + if (File.Exists(profilePath)) + { + state.FactoryDefaultModelData = Json.Deserialize(File.ReadAllText(profilePath)) as Dictionary; + } + + if (modelData == null) + { + if (state.FactoryDefaultModelData == null) + { + return; + } + modelData = state.FactoryDefaultModelData; + } + + state.KeySet = new uint[bufferSizeA * bufferSizeB]; + state.FnKeySet = new uint[bufferSizeA * bufferSizeB]; + for (int i = 0; i < state.KeySet.Length; ++i) + { + state.KeySet[i] = KeyValues.UnusedKeyValue; + state.FnKeySet[i] = KeyValues.UnusedKeyValue; + } + + state.KeyPressLightingEffect = new byte[128]; + for (int i = 0; i < state.KeyPressLightingEffect.Length; ++i) + { + state.KeyPressLightingEffect[i] = 0xFF; + } + + SetupDriverKeySetBuffer(modelData, "KeySet", state.KeySet); + SetupDriverKeySetBuffer(modelData, "FnKeySet", state.FnKeySet); + + Dictionary deviceLeData; + if (Json.TryGetValue(modelData, "DeviceLE", out deviceLeData)) + { + List leSetObs; + if (Json.TryGetValue(deviceLeData, "LESet", out leSetObs)) + { + state.HasLeSet = true; + } + } + } + + private void SetupDriverKeySetBuffer(Dictionary modelData, string type, uint[] driverKeySetArray) + { + List keySetData; + if (Json.TryGetValue(modelData, type, out keySetData)) + { + foreach (object keySetObj in keySetData) + { + Dictionary keySet = keySetObj as Dictionary; + long index; + long driverValue; + string driverValueStr; + if (Json.TryGetValue(keySet, "Index", out index) && + Json.TryGetValue(keySet, "DriverValue", out driverValueStr) && + driverValueStr.StartsWith("0x") && + long.TryParse(driverValueStr.Substring(2), NumberStyles.HexNumber, null, out driverValue)) + { + // 167968769 / 167837697 + if (driverValue == 0xA030001 || driverValue == 0xA010001) + { + // Not 100% sure if this is exactly what the regular code does + driverValue += index; + } + driverKeySetArray[index] = (uint)driverValue; + } + } + } + } + + private void LoadKeys() + { + KeysByLocationCode.Clear(); + KeysByLogicCode.Clear(); + DriverValueToLocationCode.Clear(); + + string keysPath = Path.Combine(Program.DataBasePath, "device", ModelId.ToString(), "data", "keymap.js"); + if (File.Exists(keysPath)) + { + List deviceKeys = Json.Deserialize(File.ReadAllText(keysPath)) as List; + foreach (object deviceKeyObj in deviceKeys) + { + Dictionary deviceKey = deviceKeyObj as Dictionary; + if (deviceKey != null) + { + Key key = new Key(); + long locationCode; + long logicCode; + Json.TryGetValue(deviceKey, "KeyName", out key.KeyName); + Json.TryGetValue(deviceKey, "Show", out key.Show); + if (Json.TryGetValue(deviceKey, "LocationCode", out locationCode)) + { + key.LocationCode = (int)locationCode; + } + if (Json.TryGetValue(deviceKey, "LogicCode", out logicCode)) + { + key.LogicCode = (int)logicCode; + } + Dictionary positionInfo; + if (Json.TryGetValue(deviceKey, "Position", out positionInfo)) + { + long val; + if (Json.TryGetValue(positionInfo, "Left", out val)) + { + key.Position.Left = (int)val; + } + if (Json.TryGetValue(positionInfo, "Top", out val)) + { + key.Position.Top = (int)val; + } + if (Json.TryGetValue(positionInfo, "Width", out val)) + { + key.Position.Width = (int)val; + } + if (Json.TryGetValue(positionInfo, "Height", out val)) + { + key.Position.Height = (int)val; + } + } + KeyValues.Key allKeysKey; + if (KeyValues.KeysByLogicCode.TryGetValue(key.LogicCode, out allKeysKey)) + { + key.DriverValue = allKeysKey.DriverValue; + } + else + { + if (key.KeyName != "Fn" && key.KeyName != "Fnx") + { + Debug.WriteLine("Couldn't find DriverValue for key '" + key.KeyName + "'"); + } + key.DriverValue = KeyValues.UnusedKeyValue; + } + KeysByLocationCode[key.LocationCode] = key; + KeysByLogicCode[key.LogicCode] = key; + DriverValueToLocationCode[key.DriverValue] = key.LocationCode; + } + } + } + } + + public KeyboardStateLayer GetLayer(KeyboardLayer layer) + { + KeyboardStateLayer result; + Layers.TryGetValue(layer, out result); + return result; + } + + public Key GetKeyAtLocationCode(int locationCode) + { + Key result; + KeysByLocationCode.TryGetValue(locationCode, out result); + return result; + } + + public Key GetKeyByLogicCode(int logicCode) + { + Key result; + KeysByLogicCode.TryGetValue(logicCode, out result); + return result; + } + + public class Key + { + public string KeyName; + public string Show; + public int LogicCode; + public int LocationCode; + public KeyRect Position; + public uint DriverValue; + } + } + + public struct KeyRect + { + public int Left; + public int Top; + public int Width; + public int Height; + } + + public class KeyboardStateLayer + { + public Dictionary FactoryDefaultModelData; + public uint[] KeySet; + public uint[] FnKeySet; + public byte[] KeyPressLightingEffect; + /// + /// Only used for "driver" layer? (17 01) + /// + public bool HasLeSet; + } +} diff --git a/GK6X/Localization.cs b/GK6X/Localization.cs new file mode 100644 index 0000000..e081215 --- /dev/null +++ b/GK6X/Localization.cs @@ -0,0 +1,115 @@ +using MiniJSON; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public static class Localization + { + public static Dictionary> Values; + public static string CurrentLocale = "en"; + + public static bool Load() + { + Values = new Dictionary>(); + + string dir = Path.Combine(Program.DataBasePath, "i18n", "langs"); + foreach (string file in Directory.GetFiles(dir, "*.json")) + { + string locale = Path.GetFileNameWithoutExtension(file); + + Dictionary localeValues = new Dictionary(); + Values[locale] = localeValues; + + Dictionary groups = Json.Deserialize(File.ReadAllText(file)) as Dictionary; + if (groups != null) + { + foreach (KeyValuePair group in groups) + { + string groupName = group.Key; + Dictionary groupValues = group.Value as Dictionary; + if (groupValues != null) + { + foreach (KeyValuePair value in groupValues) + { + if (localeValues.ContainsKey(value.Key)) + { + Console.WriteLine("[WARNING] Duplicate locale key " + value.Key); + } + localeValues[value.Key] = value.Value.ToString(); + } + } + } + } + } + + return true; + } + + public static string GetValue(string key) + { + return GetValue(key, CurrentLocale); + } + + public static string GetValue(string key, string locale) + { + string result; + TryGetValue(key, out result, locale); + return result; + } + + public static bool TryGetValue(string key, out string value) + { + return TryGetValue(key, out value, CurrentLocale); + } + + public static bool TryGetValue(string key, out string value, string locale) + { + Dictionary localeValues; + if (Values.TryGetValue(locale, out localeValues)) + { + return localeValues.TryGetValue(key, out value); + } + value = null; + return false; + } + } + + public class LocalizedString + { + public string KeyName; + + public string Value + { + get { return GetValue(); } + } + + public LocalizedString(string keyName) + { + KeyName = keyName; + } + + public string GetValue() + { + return Localization.GetValue(KeyName); + } + + public string GetValue(string locale) + { + return Localization.GetValue(KeyName, locale); + } + + public bool TryGetValue(out string value) + { + return Localization.TryGetValue(KeyName, out value); + } + + public bool TryGetValue(out string value, string locale) + { + return Localization.TryGetValue(KeyName, out value, locale); + } + } +} diff --git a/GK6X/MiniJSON.cs b/GK6X/MiniJSON.cs new file mode 100644 index 0000000..52ba89c --- /dev/null +++ b/GK6X/MiniJSON.cs @@ -0,0 +1,644 @@ +/* + * Copyright (c) 2013 Calvin Rien + * + * Based on the JSON parser by Patrick van Bergen + * http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html + * + * Simplified it so that it doesn't throw exceptions + * and can be used in Unity iPhone with maximum code stripping. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace MiniJSON +{ + // Example usage: + // + // using UnityEngine; + // using System.Collections; + // using System.Collections.Generic; + // using MiniJSON; + // + // public class MiniJSONTest : MonoBehaviour { + // void Start () { + // var jsonString = "{ \"array\": [1.44,2,3], " + + // "\"object\": {\"key1\":\"value1\", \"key2\":256}, " + + // "\"string\": \"The quick brown fox \\\"jumps\\\" over the lazy dog \", " + + // "\"unicode\": \"\\u3041 Men\u00fa sesi\u00f3n\", " + + // "\"int\": 65536, " + + // "\"float\": 3.1415926, " + + // "\"bool\": true, " + + // "\"null\": null }"; + // + // var dict = Json.Deserialize(jsonString) as Dictionary; + // + // Debug.Log("deserialized: " + dict.GetType()); + // Debug.Log("dict['array'][0]: " + ((List) dict["array"])[0]); + // Debug.Log("dict['string']: " + (string) dict["string"]); + // Debug.Log("dict['float']: " + (double) dict["float"]); // floats come out as doubles + // Debug.Log("dict['int']: " + (long) dict["int"]); // ints come out as longs + // Debug.Log("dict['unicode']: " + (string) dict["unicode"]); + // + // var str = Json.Serialize(dict); + // + // Debug.Log("serialized: " + str); + // } + // } + + /// + /// This class encodes and decodes JSON strings. + /// Spec. details, see http://www.json.org/ + /// + /// JSON uses Arrays and Objects. These correspond here to the datatypes IList and IDictionary. + /// All numbers are parsed to doubles. + /// + public static class Json + { + public static bool TryGetValue(Dictionary data, string key, out T result) + { + object obj; + if (data.TryGetValue(key, out obj) && obj != null && obj is T) + { + result = (T)(object)obj; + return true; + } + result = default(T); + return false; + } + + /// + /// Parses the string json into a value + /// + /// A JSON string. + /// An List<object>, a Dictionary<string, object>, a double, an integer,a string, null, true, or false + public static object Deserialize(string json) + { + // save the string for debug information + if (json == null) + { + return null; + } + + return Parser.Parse(json); + } + + sealed class Parser : IDisposable + { + const string WORD_BREAK = "{}[],:\""; + + public static bool IsWordBreak(char c) + { + return Char.IsWhiteSpace(c) || WORD_BREAK.IndexOf(c) != -1; + } + + enum TOKEN + { + NONE, + CURLY_OPEN, + CURLY_CLOSE, + SQUARED_OPEN, + SQUARED_CLOSE, + COLON, + COMMA, + STRING, + NUMBER, + TRUE, + FALSE, + NULL + }; + + StringReader json; + + Parser(string jsonString) + { + json = new StringReader(jsonString); + } + + public static object Parse(string jsonString) + { + using (var instance = new Parser(jsonString)) + { + return instance.ParseValue(); + } + } + + public void Dispose() + { + json.Dispose(); + json = null; + } + + Dictionary ParseObject() + { + Dictionary table = new Dictionary(); + + // ditch opening brace + json.Read(); + + // { + while (true) + { + switch (NextToken) + { + case TOKEN.NONE: + return null; + case TOKEN.COMMA: + continue; + case TOKEN.CURLY_CLOSE: + return table; + default: + // name + string name = ParseString(); + if (name == null) + { + return null; + } + + // : + if (NextToken != TOKEN.COLON) + { + return null; + } + // ditch the colon + json.Read(); + + // value + table[name] = ParseValue(); + break; + } + } + } + + List ParseArray() + { + List array = new List(); + + // ditch opening bracket + json.Read(); + + // [ + var parsing = true; + while (parsing) + { + TOKEN nextToken = NextToken; + + switch (nextToken) + { + case TOKEN.NONE: + return null; + case TOKEN.COMMA: + continue; + case TOKEN.SQUARED_CLOSE: + parsing = false; + break; + default: + object value = ParseByToken(nextToken); + + array.Add(value); + break; + } + } + + return array; + } + + object ParseValue() + { + TOKEN nextToken = NextToken; + return ParseByToken(nextToken); + } + + object ParseByToken(TOKEN token) + { + switch (token) + { + case TOKEN.STRING: + return ParseString(); + case TOKEN.NUMBER: + return ParseNumber(); + case TOKEN.CURLY_OPEN: + return ParseObject(); + case TOKEN.SQUARED_OPEN: + return ParseArray(); + case TOKEN.TRUE: + return true; + case TOKEN.FALSE: + return false; + case TOKEN.NULL: + return null; + default: + return null; + } + } + + string ParseString() + { + StringBuilder s = new StringBuilder(); + char c; + + // ditch opening quote + json.Read(); + + bool parsing = true; + while (parsing) + { + + if (json.Peek() == -1) + { + parsing = false; + break; + } + + c = NextChar; + switch (c) + { + case '"': + parsing = false; + break; + case '\\': + if (json.Peek() == -1) + { + parsing = false; + break; + } + + c = NextChar; + switch (c) + { + case '"': + case '\\': + case '/': + s.Append(c); + break; + case 'b': + s.Append('\b'); + break; + case 'f': + s.Append('\f'); + break; + case 'n': + s.Append('\n'); + break; + case 'r': + s.Append('\r'); + break; + case 't': + s.Append('\t'); + break; + case 'u': + var hex = new char[4]; + + for (int i = 0; i < 4; i++) + { + hex[i] = NextChar; + } + + s.Append((char)Convert.ToInt32(new string(hex), 16)); + break; + } + break; + default: + s.Append(c); + break; + } + } + + return s.ToString(); + } + + object ParseNumber() + { + string number = NextWord; + + if (number.IndexOf('.') == -1) + { + long parsedInt; + Int64.TryParse(number, out parsedInt); + return parsedInt; + } + + double parsedDouble; + Double.TryParse(number, out parsedDouble); + return parsedDouble; + } + + void EatWhitespace() + { + while (Char.IsWhiteSpace(PeekChar)) + { + json.Read(); + + if (json.Peek() == -1) + { + break; + } + } + } + + char PeekChar + { + get + { + return Convert.ToChar(json.Peek()); + } + } + + char NextChar + { + get + { + return Convert.ToChar(json.Read()); + } + } + + string NextWord + { + get + { + StringBuilder word = new StringBuilder(); + + while (!IsWordBreak(PeekChar)) + { + word.Append(NextChar); + + if (json.Peek() == -1) + { + break; + } + } + + return word.ToString(); + } + } + + TOKEN NextToken + { + get + { + EatWhitespace(); + + if (json.Peek() == -1) + { + return TOKEN.NONE; + } + + switch (PeekChar) + { + case '{': + return TOKEN.CURLY_OPEN; + case '}': + json.Read(); + return TOKEN.CURLY_CLOSE; + case '[': + return TOKEN.SQUARED_OPEN; + case ']': + json.Read(); + return TOKEN.SQUARED_CLOSE; + case ',': + json.Read(); + return TOKEN.COMMA; + case '"': + return TOKEN.STRING; + case ':': + return TOKEN.COLON; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + return TOKEN.NUMBER; + } + + switch (NextWord) + { + case "false": + return TOKEN.FALSE; + case "true": + return TOKEN.TRUE; + case "null": + return TOKEN.NULL; + } + + return TOKEN.NONE; + } + } + } + + /// + /// Converts a IDictionary / IList object or a simple type (string, int, etc.) into a JSON string + /// + /// A Dictionary<string, object> / List<object> + /// A JSON encoded string, or null if object 'json' is not serializable + public static string Serialize(object obj) + { + return Serializer.Serialize(obj); + } + + sealed class Serializer + { + StringBuilder builder; + + Serializer() + { + builder = new StringBuilder(); + } + + public static string Serialize(object obj) + { + var instance = new Serializer(); + + instance.SerializeValue(obj); + + return instance.builder.ToString(); + } + + void SerializeValue(object value) + { + IList asList; + IDictionary asDict; + string asStr; + + if (value == null) + { + builder.Append("null"); + } + else if ((asStr = value as string) != null) + { + SerializeString(asStr); + } + else if (value is bool) + { + builder.Append((bool)value ? "true" : "false"); + } + else if ((asList = value as IList) != null) + { + SerializeArray(asList); + } + else if ((asDict = value as IDictionary) != null) + { + SerializeObject(asDict); + } + else if (value is char) + { + SerializeString(new string((char)value, 1)); + } + else + { + SerializeOther(value); + } + } + + void SerializeObject(IDictionary obj) + { + bool first = true; + + builder.Append('{'); + + foreach (object e in obj.Keys) + { + if (!first) + { + builder.Append(','); + } + + SerializeString(e.ToString()); + builder.Append(':'); + + SerializeValue(obj[e]); + + first = false; + } + + builder.Append('}'); + } + + void SerializeArray(IList anArray) + { + builder.Append('['); + + bool first = true; + + foreach (object obj in anArray) + { + if (!first) + { + builder.Append(','); + } + + SerializeValue(obj); + + first = false; + } + + builder.Append(']'); + } + + void SerializeString(string str) + { + builder.Append('\"'); + + char[] charArray = str.ToCharArray(); + foreach (var c in charArray) + { + switch (c) + { + case '"': + builder.Append("\\\""); + break; + case '\\': + builder.Append("\\\\"); + break; + case '\b': + builder.Append("\\b"); + break; + case '\f': + builder.Append("\\f"); + break; + case '\n': + builder.Append("\\n"); + break; + case '\r': + builder.Append("\\r"); + break; + case '\t': + builder.Append("\\t"); + break; + default: + int codepoint = Convert.ToInt32(c); + if ((codepoint >= 32) && (codepoint <= 126)) + { + builder.Append(c); + } + else + { + builder.Append("\\u"); + builder.Append(codepoint.ToString("x4")); + } + break; + } + } + + builder.Append('\"'); + } + + void SerializeOther(object value) + { + // NOTE: decimals lose precision during serialization. + // They always have, I'm just letting you know. + // Previously floats and doubles lost precision too. + if (value is float) + { + builder.Append(((float)value).ToString("R")); + } + else if (value is int + || value is uint + || value is long + || value is sbyte + || value is byte + || value is short + || value is ushort + || value is ulong) + { + builder.Append(value); + } + else if (value is double + || value is decimal) + { + builder.Append(Convert.ToDouble(value).ToString("R")); + } + else + { + SerializeString(value.ToString()); + } + } + } + } +} \ No newline at end of file diff --git a/GK6X/OpCodes.cs b/GK6X/OpCodes.cs new file mode 100644 index 0000000..931aaf9 --- /dev/null +++ b/GK6X/OpCodes.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace GK6X +{ + public enum OpCodes + { + /// + /// Information about the keyboard + /// + Info = 0x01, + /// + /// Restarts the keyboard (can reboot in special modes such as "CDBoot") + /// + RestartKeyboard = 0x03, + Unk04 = 0x04,// Some diagnostics stuff? Or maybe something related to key input? Or macros ("KeyPress")? + /// + /// Set the active layer (base / driver / 1 / 2 / 3) + /// + SetLayer = 0x0B, + /// + /// Ping / keep alive + /// + Ping = 0x0C, + + /// + /// Using macros when in the "driver" layer + /// + DriverMacro = 0x15, + /// + /// Set "driver" layer key values + /// + DriverLayerSetKeyValues = 0x16, + /// + /// Set "driver" layer config values (seem to be hard coded in the application) + /// + DriverLayerSetConfig = 0x17, + /// + /// The keyboard sends this packet to enable macros/shortcut/keypress lighting in the "driver" layer (the PC doesn't have to send request) + /// + DriverKeyCallback = 0x18, + /// + /// Updates the lighting in real time when in the "driver" layer + /// + DriverLayerUpdateRealtimeLighting = 0x1A, + + /// + /// Resets a type of data (keys, lights, etc) for a layer + /// + LayerResetDataType = 0x21, + LayerSetKeyValues = 0x22, + Unk23_KbData = 0x23,// Likely a keyboard data set (see KeyboardLayerDataType) + Unk24_KbData_Lighting = 0x24,// Some lighting related data (see KeyboardLayerDataType) + LayerSetMacros = 0x25, + /// + /// Sets the lighting effects which should play when pressing keys ("Press Light") + /// + LayerSetKeyPressLightingEffect = 0x26, + LayerSetLightValues = 0x27, + /// + /// Function key values + /// + LayerFnSetKeyValues = 0x31, + } + + public enum OpCodes_SetDriverLayerKeyValues + { + KeySet = 1, + KeySetFn = 2, + /// + /// Lighting effects which should play when pressing keys + /// + KeyPressLightingEffect = 3 + } + + public enum OpCodes_DriverLayerUpdateRealtimeLighting + { + Update = 1, + UpdateComplete = 2 + } + + public enum OpCodes_DriverMacro + { + MouseState = 1, + KeyboardState = 2, + BeginEnd = 3,// TODO: Think of a better name (my mind is blank!) + } + + public enum OpCodes_Info + { + /// + /// The firmware id / version + /// + FirmwareId = 0x01, + /// + /// Unknown value (-1). This comes with crc validation, and always fails due to the value being -1. + /// This is likely always -1 for the lifetime of the board (or until firmware change) based on the disassembly. + /// + Unk_02 = 0x02, + /// + /// The model id of the keyboard + /// + ModelId = 0x08, + /// + /// Some kind of buffer size info related to holding keyboard data + /// + InitBuffers = 0x09, + } + + public enum KeyboardLayer + { + Invalid, + Base = 1, + Layer1 = 2, + Layer2 = 3, + Layer3 = 4, + /// + /// A better name for this would be "App"/"Software", as this mode only works when connected to the software. + /// + Driver = 5 + } + + /// + /// Types of configurable data that can be sent to the keyboard (keys, lights, macro, etc) + /// This is used by "21 XX" + /// + public enum KeyboardLayerDataType + { + Invalid, + KeySet = 1,// Maps to 22 XX + // Where/what is type 2? It could possibly be "23 XX", there seems to be a handler for this on the keyboard + /// + /// "Lighting effect"? Some sort of lighting related data, but not any of the lighting options I've seen so far + /// (always 0x210 / 528 bytes of data - which is the same as the amount of data "driver" layer realtime lighting sends) + /// + LEData = 3,// Maps to 24 XX + Macros = 4,// Maps to 25 XX + /// + /// Lighting effects which should play when pressing keys + /// + KeyPressLightingEffect = 5,//Maps to 26 XX + /// + /// Lighting data + /// + Lighting = 6,// Maps to 27 XX + FnKeySet = 7// Maps to 31 XX + } +} diff --git a/GK6X/Packet.cs b/GK6X/Packet.cs new file mode 100644 index 0000000..167636e --- /dev/null +++ b/GK6X/Packet.cs @@ -0,0 +1,802 @@ +// Taken from https://github.com/pixeltris/SonyAlphaUSB/blob/master/SonyAlphaUSB/WIALogger.cs +// 30th June 2019 +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Reflection; +using System.Reflection.Emit; +using System.IO; + +namespace GK6X +{ + public class Packet : IDisposable + { + private BinaryReader reader; + private BinaryWriter writer; + private MemoryStream stream; + + public static readonly int CharSize = 2; + + public int Length + { + get { return (int)stream.Length; } + } + + public int Index + { + get { return (int)stream.Position; } + set { SetIndex(value); } + } + + public byte Opcode1 + { + get + { + int tempIndex = Index; + Index = 0; + byte opcode = reader.ReadByte(); + Index = tempIndex; + return opcode; + } + } + + public byte Opcode2 + { + get + { + int tempIndex = Index; + Index = 1; + byte opcode = reader.ReadByte(); + Index = tempIndex; + return opcode; + } + } + + public ushort Opcode + { + get + { + int tempIndex = Index; + Index = 0; + ushort opcode = reader.ReadUInt16(); + Index = tempIndex; + return opcode; + } + } + + public bool InvalidRead { get; private set; } + + public Packet() + { + stream = new MemoryStream(); + reader = new BinaryReader(stream); + writer = new BinaryWriter(stream); + } + + public Packet(OpCodes opcode) + : this((ushort)opcode) + { + } + + public Packet(ushort opcode) + : this() + { + WriteUInt16(opcode); + } + + public Packet(bool asReader, byte[] data) + : this() + { + WriteBytes(data); + if (asReader) + { + Index = 0; + } + } + + public Packet(bool asReader, string hexstring) + : this() + { + WriteHexString(hexstring); + if (asReader) + { + Index = 0; + } + } + + public static Packet Reader(byte[] data) + { + return new Packet(true, data); + } + + private void CloseStream() + { + writer.Close(); + reader.Close(); + stream.Close(); + } + + public void Dispose() + { + CloseStream(); + } + + public string GetOpcodeHex() + { + return ToString(0, 2, false); + } + + public void WriteOpcode(ushort value) + { + int tempIndex = Index; + Index = 0; + WriteUInt16(value); + if (tempIndex > Index) + { + Index = tempIndex; + } + } + + public byte[] GetBuffer() + { + return stream.ToArray(); + } + + public byte[] GetWrittenBuffer() + { + int offset = Index > Length ? Length - 1 : Index; + byte[] result = new byte[offset]; + Buffer.BlockCopy(GetBuffer(), 0, result, 0, offset); + return result; + } + + public bool SetIndex(int index) + { + if (index < stream.Length) + { + stream.Position = index; + return true; + } + else if (stream.Length > 0) + { + stream.Position = stream.Length - 1; + } + else + { + stream.Position = 0; + } + InvalidRead = true; + return false; + } + + public bool Skip(int amount) + { + return SetIndex(Index + amount); + } + + public Packet Reset() + { + Index = 0; + return this; + } + + public void Clear() + { + Index = 0; + + CloseStream(); + stream = new MemoryStream(); + reader = new BinaryReader(stream); + writer = new BinaryWriter(stream); + } + + public byte ReadByte() + { + if (Index >= Length) + { + InvalidRead = true; + return (byte)0; + } + return reader.ReadByte(); + } + + public sbyte ReadSByte() + { + if (Index >= Length) + { + InvalidRead = true; + return (sbyte)0; + } + return reader.ReadSByte(); + } + + public bool ReadBool() + { + return ReadByte() != 0; + } + + public short ReadInt16() + { + if (Index + 1 >= Length) + { + InvalidRead = true; + return (short)0; + } + return reader.ReadInt16(); + } + + public ushort ReadUInt16() + { + if (Index + 1 >= Length) + { + InvalidRead = true; + return (ushort)0; + } + return reader.ReadUInt16(); + } + + public int ReadInt32() + { + if (Index + 3 >= Length) + { + InvalidRead = true; + return 0; + } + return reader.ReadInt32(); + } + + public uint ReadUInt32() + { + if (Index + 3 >= Length) + { + InvalidRead = true; + return (uint)0; + } + return reader.ReadUInt32(); + } + + public long ReadInt64() + { + if (Index + 7 >= Length) + { + InvalidRead = true; + return 0; + } + return reader.ReadInt64(); + } + + public ulong ReadUInt64() + { + if (Index + 7 >= Length) + { + InvalidRead = true; + return 0; + } + return reader.ReadUInt64(); + } + + public float ReadSingle() + { + if (Index + 3 >= Length) + { + return 0; + } + return reader.ReadSingle(); + } + + public double ReadDouble() + { + if (Index + 7 >= Length) + { + return 0; + } + return reader.ReadDouble(); + } + + public byte[] ReadBytes(int count) + { + bool invalidRead = Index + count > Length; + if (count < 0 || invalidRead) + { + if (count > 0 && invalidRead) + { + InvalidRead = true; + } + return null; + } + return reader.ReadBytes(count); + } + + public byte[] ReadBytes(int prefixLength, int count) + { + long length = 0; + switch (prefixLength) + { + case 1: length = ReadByte(); break; + default: + case 2: length = ReadInt16(); break; + case 4: length = ReadInt32(); break; + } + return ReadBytes(count); + } + + public string ReadString() + { + return ReadString(2); + } + + public string ReadString(int prefixLength) + { + return ReadString(prefixLength, Encoding.Default); + } + + public string ReadString(int prefixLength, Encoding encoding) + { + int length = 0; + switch (prefixLength) + { + case 1: length = ReadByte(); break; + default: + case 2: length = ReadInt16(); break; + case 4: length = ReadInt32(); break; + } + int totalLength = length * CharSize; + bool invalidRead = this.Index + totalLength > this.Length; + if (length <= 0 || invalidRead) + { + if (length > 0 && invalidRead) + { + InvalidRead = true; + } + return string.Empty; + } + return encoding.GetString(ReadBytes(totalLength)); + } + + public string ReadFixedString(int length) + { + return ReadFixedString(length, Encoding.Default); + } + + public string ReadFixedString(int length, Encoding encoding) + { + int totalLength = length * CharSize; + bool invalidRead = this.Index + (totalLength) > this.Length; + if (length <= 0 || invalidRead) + { + if (length > 0 && invalidRead) + { + InvalidRead = true; + } + return string.Empty; + } + return encoding.GetString(ReadBytes(totalLength)).TrimEnd('\0'); + } + + public string ReadCString() + { + return ReadCString(Encoding.Default); + } + + public string ReadCString(Encoding encoding) + { + int tempIndex = Index; + int length = 0; + for (int i = Index; i + CharSize <= Length; i += CharSize) + { + length += CharSize; + if (CharSize == 2) + { + if (ReadInt16() == 0) + { + break; + } + } + else + { + if (ReadByte() == 0) + { + break; + } + } + } + Index = tempIndex; + + int totalLength = Math.Max(0, length - CharSize); + return encoding.GetString(ReadBytes(totalLength)).TrimEnd('\0'); + } + + public byte[] ReadRemaining() + { + return ReadBytes(Length - Index); + } + + public void WriteBool(bool value) + { + writer.Write(value); + } + + public void WriteByte(byte value) + { + writer.Write(value); + } + + public void WriteSByte(sbyte value) + { + writer.Write(value); + } + + public void WriteInt16(short value) + { + writer.Write(value); + } + + public void WriteUInt16(ushort value) + { + writer.Write(value); + } + + public void WriteInt32(int value) + { + writer.Write(value); + } + + public void WriteUInt32(uint value) + { + writer.Write(value); + } + + public void WriteInt64(long value) + { + writer.Write(value); + } + + public void WriteUInt64(ulong value) + { + writer.Write(value); + } + + public void WriteSingle(float value) + { + writer.Write(value); + } + + public void WriteDouble(double value) + { + writer.Write(value); + } + + public void WriteString(string value) + { + WriteString(value, Encoding.Default); + } + + public void WriteString(string value, int prefixLength) + { + WriteString(value, prefixLength); + } + + public void WriteString(string value, Encoding encoding) + { + WriteString(value, encoding); + } + + public void WriteString(string value, int prefixLength, Encoding encoding) + { + if (value == null) value = string.Empty; + byte[] stringBuffer = encoding.GetBytes(value); + int totalLength = stringBuffer.Length; + switch (prefixLength) + { + case 1: WriteByte((byte)totalLength); break; + default: + case 2: WriteInt16((short)totalLength); break; + case 4: WriteInt32((int)totalLength); break; + } + WriteBytes(stringBuffer); + } + + public void WriteFixedString(string value) + { + WriteFixedString(value, Encoding.Default); + } + + public void WriteFixedString(string value, Encoding encoding) + { + WriteFixedString(value, encoding); + } + + public void WriteFixedString(string value, int length) + { + WriteFixedString(value, length); + } + + public void WriteFixedString(string value, int length, Encoding encoding) + { + if (value == null) value = string.Empty; + byte[] stringBuffer = encoding.GetBytes(value); + WriteBytes(stringBuffer); + + int remain = length - stringBuffer.Length; + if (remain > 0) + { + byte[] remaining = new byte[remain]; + WriteBytes(remaining); + } + } + + public void WriteCString(string value) + { + WriteCString(value); + } + + public void WriteCString(string value, Encoding encoding) + { + if (value == null) value = string.Empty; + byte[] stringBuffer = encoding.GetBytes(value); + WriteBytes(stringBuffer); + + // Should check if the string contains a null terminator already? + for (int i = 0; i < CharSize; i++) + { + WriteByte(0); + } + } + + public void WriteStringPaddedLeft(string value, char pad, int len) + { + WriteFixedString(value.PadLeft(len, pad)); + } + + public void WriteStringPaddedRight(string value, char pad, int len) + { + WriteFixedString(value.PadRight(len, pad)); + } + + public void WriteBytes(int count) + { + if ((Index + count) > Length) + { + WriteBytes(new byte[count]); + } + } + + public void WriteBytes(byte[] value) + { + if (value == null) + { + return; + } + writer.Write(value); + } + + public void WriteHexString(string hexstring) + { + if (hexstring == null) + { + return; + } + int discarded; + WriteBytes(HexEncoding.GetBytes(hexstring, out discarded)); + } + + public override string ToString() + { + byte[] buffer = GetBuffer(); + StringBuilder str = new StringBuilder(); + for (int i = 0; i < buffer.Length; i++) + str.Append(buffer[i].ToString("X2") + " "); + return str.ToString().Trim(); + } + + public string ToString(bool writtenDataOnly) + { + byte[] buffer = GetBuffer(); + int length = writtenDataOnly ? Length : buffer.Length; + StringBuilder str = new StringBuilder(); + for (int i = 0; i < length; i++) + str.Append(buffer[i].ToString("X2") + " "); + return str.ToString().Trim(); + } + + public string ToString(int startIndex, int length) + { + return ToString(startIndex, length, false); + } + + public string ToString(int startIndex, int length, bool reverse) + { + byte[] buffer = GetBuffer(); + int endIndex = startIndex + length > Length ? Length : startIndex + length; + StringBuilder str = new StringBuilder(); + if (reverse) + { + for (int i = endIndex - 1; i >= startIndex; i--) + str.Append(buffer[i].ToString("X2") + " "); + } + else + { + for (int i = startIndex; i < endIndex; i++) + str.Append(buffer[i].ToString("X2") + " "); + } + return str.ToString().Trim(); + } + + public string ToText() + { + StringBuilder text = new StringBuilder(); + string[] splitted = ToString().Split(); + foreach (string hexChar in splitted) + { + if (string.IsNullOrEmpty(hexChar)) + continue; + int byteChar = int.Parse(hexChar, System.Globalization.NumberStyles.HexNumber); + if (byteChar == 0) + text.Append(" "); + else + text.Append((char)byteChar); + } + return text.ToString(); + } + + public int GetStringIndex(string search) + { + byte[] buffer = GetBuffer(); + string str = search.Replace(" ", ""); + if (str.Length % 2 != 0) + return -1; + int searchLength = str.Length / 2; + byte[] bytes = new byte[searchLength]; + for (int i = 0; i < searchLength; i++) + { + if (str[i] != '?') + bytes[i] = Convert.ToByte(str.Substring(i, 2), 16); + } + + for (int i = 0; i < Length - searchLength; i++) + { + bool found = true; + for (int j = 0; j < searchLength; j++) + { + if (str[j * 2] != '?' && buffer[i] != bytes[j]) + { + found = false; + break; + } + } + if (found) + return i; + } + return -1; + } + + public static bool IsHex(IEnumerable chars) + { + bool isHex; + foreach (var c in chars) + { + isHex = ((c >= '0' && c <= '9') || + (c >= 'a' && c <= 'f') || + (c >= 'A' && c <= 'F') || + c == ' ' || c == '\t' || c == '\r' || c == '\n'); + + if (!isHex) + return false; + } + return true; + } + + public static string ToHexString(byte[] buffer) + { + string str = string.Empty; + for (int i = 0; i < buffer.Length; i++) + str += buffer[i].ToString("X2") + " "; + return str.Trim(); + } + + public static string ToHexStringI16(short value) + { + using (Packet packet = new Packet()) + { + packet.WriteInt16(value); + return packet.ToString(); + } + } + + public static string ToHexStringU16(ushort value) + { + using (Packet packet = new Packet()) + { + packet.WriteUInt16(value); + return packet.ToString(); + } + } + + public static string ToHexStringI32(int value) + { + using (Packet packet = new Packet()) + { + packet.WriteInt32(value); + return packet.ToString(); + } + } + + public static string ToHexStringU32(uint value) + { + using (Packet packet = new Packet()) + { + packet.WriteUInt32(value); + return packet.ToString(); + } + } + + public static byte[] FromHexString(string hex) + { + int discarded; + return HexEncoding.GetBytes(hex, out discarded); + } + + class HexEncoding + { + /* External code from http://www.codeproject.com/KB/recipes/hexencoding.aspx */ + /* Author = neilck http://www.codeproject.com/script/Membership/Profiles.aspx?mid=375133 */ + public static bool IsHexDigit(Char c) + { + int numChar; + int numA = Convert.ToInt32('A'); + int num1 = Convert.ToInt32('0'); + c = Char.ToUpper(c); + numChar = Convert.ToInt32(c); + if (numChar >= numA && numChar < (numA + 6)) + return true; + if (numChar >= num1 && numChar < (num1 + 10)) + return true; + return false; + } + + private static byte HexToByte(string hex) + { + if (hex.Length > 2 || hex.Length <= 0) + throw new ArgumentException("hex must be 1 or 2 characters in length"); + byte newByte = byte.Parse(hex, System.Globalization.NumberStyles.HexNumber); + return newByte; + } + + public static byte[] GetBytes(string hexString, out int discarded) + { + discarded = 0; + StringBuilder newString = new StringBuilder(); + char c; + // remove all none A-F, 0-9, characters + for (int i = 0; i < hexString.Length; i++) + { + c = hexString[i]; + if (IsHexDigit(c)) + newString.Append(c); + else + discarded++; + } + // if odd number of characters, discard last character + if (newString.Length % 2 != 0) + { + discarded++; + newString = new StringBuilder(newString.ToString().Substring(0, newString.Length - 1)); + } + + int byteLength = newString.Length / 2; + byte[] bytes = new byte[byteLength]; + string hex; + int j = 0; + for (int i = 0; i < bytes.Length; i++) + { + hex = new String(new Char[] { newString[j], newString[j + 1] }); + bytes[i] = HexToByte(hex); + j = j + 2; + } + return bytes; + } + /* End external code */ + } + } +} \ No newline at end of file diff --git a/GK6X/Program.cs b/GK6X/Program.cs new file mode 100644 index 0000000..05e8858 --- /dev/null +++ b/GK6X/Program.cs @@ -0,0 +1,312 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace GK6X +{ + class Program + { + public static readonly string DataBasePath = "Data"; + public static readonly string UserDataPath = "UserData"; + + static void Main(string[] args) + { + if (!Localization.Load()) + { + LogFatalError("Failed to load localization data"); + return; + } + if (!KeyValues.Load()) + { + LogFatalError("Failed to load the key data"); + return; + } + if (!KeyboardState.Load()) + { + LogFatalError("Failed to load keyboard data"); + return; + } + + if (args.Length > 0 && args[0].ToLower() == "clog") + { + CommandLogger.Run(); + return; + } + + KeyboardDeviceManager.Connected += (KeyboardDevice device) => + { + Log("Connected to device '" + device.State.ModelName + "' model:" + device.State.ModelId + + " fw:" + device.State.FirmwareVersion); + + string file = GetUserDataFile(device); + if (!string.IsNullOrEmpty(file)) + { + try + { + string dir = Path.GetDirectoryName(file); + if (!Directory.Exists(dir)) + + { + Directory.CreateDirectory(dir); + } + if (!File.Exists(file)) + { + File.WriteAllText(file, string.Empty, Encoding.UTF8); + } + } + catch + { + } + } + }; + KeyboardDeviceManager.Disconnected += (KeyboardDevice device) => + { + Log("Disconnected from device '" + device.State.ModelName + "'"); + }; + KeyboardDeviceManager.StartListener(); + + bool running = true; + while (running) + { + string line = Console.ReadLine(); + string[] splitted = line.Split(); + switch (splitted[0].ToLower()) + { + case "close": + case "exit": + case "quit": + running = false; + break; + case "cls": + case "clear": + Console.Clear(); + break; + case "map": + case "unmap": + { + bool map = splitted[0].ToLower() == "map"; + KeyboardDevice[] devices; + KeyboardLayer targetLayer; + bool targetLayerIsFn; + TryParseLayer(splitted, 1, out targetLayer, out targetLayerIsFn); + bool hasTargetLayer = targetLayer != KeyboardLayer.Invalid; + if (TryGetDevices(out devices)) + { + foreach (KeyboardDevice device in devices) + { + UserDataFile userData = UserDataFile.Load(device.State, GetUserDataFile(device)); + if (userData == null) + { + Log("Couldn't find user data file '" + GetUserDataFile(device) + "'"); + continue; + } + + foreach (KeyValuePair layer in device.State.Layers) + { + if (layer.Key == KeyboardLayer.Driver) + { + continue; + } + + if (hasTargetLayer && layer.Key != targetLayer) + { + continue; + } + + device.SetLighting(layer.Key, userData); + device.SetMacros(layer.Key, userData); + + for (int i = 0; i < 2; i++) + { + bool fn = i == 1; + if (targetLayer != KeyboardLayer.Invalid && fn != targetLayerIsFn) + { + continue; + } + + // Setting keys to 0xFFFFFFFF is preferable compared to using what is defined in + // files as this will use what is defined in the firmware. + uint[] driverValues = new uint[device.State.MaxLogicCode]; + for (int j = 0; j < driverValues.Length; j++) + { + driverValues[j] = KeyValues.UnusedKeyValue; + } + + if (map) + { + UserDataFile.Layer userDataLayer; + if (fn) + { + userData.FnLayers.TryGetValue(layer.Key, out userDataLayer); + } + else + { + userData.Layers.TryGetValue(layer.Key, out userDataLayer); + } + if (userDataLayer != null) + { + for (int j = 0; j < driverValues.Length; j++) + { + KeyboardState.Key key = device.State.GetKeyByLogicCode(j); + if (key != null) + { + driverValues[j] = userDataLayer.GetKey(key.DriverValue); + } + } + } + } + device.SetKeys(layer.Key, driverValues, fn); + } + } + + // This is required to "refresh" the keyboard with the updated key info + if (hasTargetLayer) + { + device.SetLayer(targetLayer); + } + else + { + device.SetLayer(KeyboardLayer.Base); + } + Log("Done"); + } + } + } + break; + case "dumpkeys": + { + int targetRow = -1; + if (splitted.Length > 1) + { + if (!int.TryParse(splitted[1], out targetRow)) + { + targetRow = -1; + } + } + bool showLocationCodeInfo = false; + if (splitted.Length > 2) + { + showLocationCodeInfo = splitted[2] == "ex"; + } + + KeyboardDevice[] devices; + if (TryGetDevices(out devices)) + { + foreach (KeyboardDevice device in devices) + { + Log("====== " + device.State.ModelId + " ======"); + bool foundKey = false; + int lastLeft = int.MinValue; + int row = 1; + foreach (KeyboardState.Key key in device.State.KeysByLocationCode.Values.OrderBy( + x => x.Position.Top).ThenBy(x => x.Position.Left)) + { + if (key.Position.Left >= 0) + { + if (lastLeft > key.Position.Left && foundKey) + { + if (targetRow == -1) + { + Log("--------"); + } + foundKey = false; + row++; + } + lastLeft = key.Position.Left; + } + + if (string.IsNullOrEmpty(key.KeyName) || !key.KeyName.StartsWith("LED-")) + { + if (targetRow == -1 || row == targetRow) + { + Log(key.KeyName + " = " + (DriverValue)key.DriverValue + + (showLocationCodeInfo ? " (" + key.LocationCode + ")" : string.Empty)); + } + foundKey = true; + } + } + } + } + } + break; + } + } + + KeyboardDeviceManager.StopListener(); + } + + private static string GetUserDataFile(KeyboardDevice device) + { + return Path.Combine(UserDataPath, device.State.ModelId + ".txt"); + } + + private static bool TryGetDevices(out KeyboardDevice[] devices) + { + devices = KeyboardDeviceManager.GetConnectedDevices(); + if (devices.Length > 0) + { + return true; + } + else + { + Log("No devices connected!"); + return false; + } + } + + private static bool TryParseLayer(string[] args, int index, out KeyboardLayer layer, out bool fn) + { + layer = KeyboardLayer.Invalid; + fn = false; + if (args.Length < index) + { + string arg = args[index]; + if (arg.ToLower().StartsWith("fn")) + { + arg = arg.Substring(2); + fn = true; + } + int layerVal; + if (int.TryParse(args[index], out layerVal)) + { + switch (layerVal) + { + case 1: layer = KeyboardLayer.Layer1; break; + case 2: layer = KeyboardLayer.Layer2; break; + case 3: layer = KeyboardLayer.Layer3; break; + } + } + else + { + Enum.TryParse(args[index], true, out layer); + } + } + switch (layer) + { + case KeyboardLayer.Driver: + layer = KeyboardLayer.Invalid; + break; + } + return layer != KeyboardLayer.Invalid; + } + + static object logLocker = new object(); + internal static void Log(string str) + { + lock (logLocker) + { + File.AppendAllText("KbLog.txt", "[" + DateTime.Now.TimeOfDay + "] " + str + Environment.NewLine); + Console.WriteLine(str); + } + } + + private static void LogFatalError(string str) + { + Log(str); + Console.ReadLine(); + Environment.Exit(1); + } + } +} diff --git a/GK6X/Properties/AssemblyInfo.cs b/GK6X/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c3ff148 --- /dev/null +++ b/GK6X/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("GK6X")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("GK6X")] +[assembly: AssemblyCopyright("Copyright © pixeltris 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1475a021-74d1-4992-a22e-ff5e65c7a86c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/GK6X/README.md b/GK6X/README.md new file mode 100644 index 0000000..64ebe49 --- /dev/null +++ b/GK6X/README.md @@ -0,0 +1 @@ +# GK6X diff --git a/GK6X/UserDataFile.cs b/GK6X/UserDataFile.cs new file mode 100644 index 0000000..ea430b0 --- /dev/null +++ b/GK6X/UserDataFile.cs @@ -0,0 +1,930 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Globalization; +using System.Diagnostics; +using MiniJSON; + +namespace GK6X +{ + public class UserDataFile + { + public Dictionary FnLayers = new Dictionary(); + public Dictionary Layers = new Dictionary(); + public Dictionary Macros = new Dictionary(); + public Dictionary LightingEffects = new Dictionary(); + /// + /// If true all lighting data on the keyboard will be cleared (this is different to not providing any + /// lighting which will just skip sending lighting data) + /// + public bool NoLighting; + public HashSet NoLightingLayers = new HashSet(); + private int nextMacroId; + private int nextLightingId; + + public class Layer + { + public Dictionary Keys = new Dictionary(); + + public uint GetKey(uint key) + { + uint result; + if (!Keys.TryGetValue(key, out result)) + { + return KeyValues.UnusedKeyValue; + } + return result; + } + } + + public class Macro + { + public string Name; + public int Id; + public MacroRepeatType RepeatType; + public byte RepeatCount; + public ushort DefaultDelay; + /// + /// If true a delay will be used on the last action. This can be useful where + /// the macro is to be repeated multiple times and a constant delay is desired. + /// + public bool UseTrailingDelay; + public List Actions = new List(); + + public Macro(string name) + { + Name = name; + Id = -1; + RepeatType = MacroRepeatType.RepeatXTimes; + RepeatCount = 1; + } + + public class Action + { + public MacroKeyState State; + public MacroKeyType Type; + public byte KeyCode;// DriverValueMouseButton or short version of DriverValue + public DriverValueModifer Modifier; + public ushort Delay; + } + } + + public class LightingEffect + { + public int Id; + public string Name; + public LightingEffectType Type; + /// + /// Each frame holds an array of keys (location codes) + /// + public List Frames = new List(); + /// + /// Total number of frames (based on the frame count for each frame) + /// + public int TotalFrames; + /// + /// Lighting effect params / configs + /// + public List Params = new List(); + /// + /// Used for static lighting. This maps from key location codes to an RGB value + /// + public Dictionary KeyColors = new Dictionary(); + /// + /// The layers this effect should be used on + /// + public HashSet Layers = new HashSet(); + + /// + /// Total number of keys as seen by the lighting system + /// + public const int NumKeys = 132;// (528/0x210 total bytes - see refs to this number in the disassembled code) + public const int MaxEffects = 32; + /// + /// Total number of bytes used for static lighting (1 uint color value for each key) + /// + public const int NumStaticLightingBytes = 704;// (704/0x2C0 bytes, 176 ints) + + public class Frame + { + /// + /// Number of frames this frame should be displayed + /// + public int Count; + /// + /// Key location codes + /// + public HashSet KeyCodes = new HashSet(); + } + + public LightingEffect(string name) + { + Id = -1; + Name = name; + } + + public class Param + { + public uint Color; + public LightingEffectColorType ColorType; + public HashSet Keys = new HashSet(); + public int Val1;// "Count" (used in RGB / breathing) + public int Val2;// "StayCount" (used in breathing) + /// + /// If true the values used by RGB/breathing should be sent to the keyboard unmodified (regular lighting effect + /// files have their values modified by an amount - 360/val for RGB, 100/val for breathing val2) + /// + public bool UseRawValues; + } + + public bool Load(KeyboardState keyboard) + { + try + { + string fileName = Path.Combine(Program.DataBasePath, "lighting", Name + ".le"); + if (string.IsNullOrEmpty(Name) || !File.Exists(fileName)) + { + return false; + } + + Dictionary json = Json.Deserialize(File.ReadAllText(fileName)) as Dictionary; + if (json == null) + { + return false; + } + + long lightingTypeVal; + string lightingTypeStr; + if (Json.TryGetValue(json, "Type", out lightingTypeStr)) + { + if (!Enum.TryParse(lightingTypeStr, true, out Type)) + { + Type = LightingEffectType.Dynamic; + } + } + else if (Json.TryGetValue(json, "Type", out lightingTypeVal)) + { + Type = (LightingEffectType)lightingTypeVal; + } + else + { + Type = LightingEffectType.Dynamic; + } + + switch (Type) + { + case LightingEffectType.Static: + LoadStatic(keyboard, json); + break; + case LightingEffectType.Dynamic: + LoadDynamic(keyboard, json); + break; + } + + return true; + } + catch + { + return false; + } + } + + private bool TryParseColor(string colorStr, bool fixupAlpha, out uint color) + { + color = 0xFFFFFFFF; + if (string.IsNullOrEmpty(colorStr)) + { + return false; + } + try + { + bool hasColor = false; + if (colorStr.StartsWith("0x")) + { + hasColor = uint.TryParse(colorStr.Substring(2), NumberStyles.HexNumber, null, out color); + } + else if (colorStr.StartsWith("#")) + { + hasColor = uint.TryParse(colorStr.Substring(1), NumberStyles.HexNumber, null, out color); + } + if (hasColor) + { + byte a = (byte)(color >> 24); + byte r = (byte)(color >> 16); + byte g = (byte)(color >> 8); + byte b = (byte)(color >> 0); + if (fixupAlpha && a == 0 && (r != 0 || g != 0 || b != 0)) + { + // Alpha is used on static lighting keys, set alpha to 0xFF if 0x00 yet color is defined + a = 0xFF; + } + color = (uint)((r << 0) | (g << 8) | (b << 16) | (a << 24)); + return true; + } + else + { + return false; + } + } + catch + { + return false; + } + } + + private bool TryGetKeyLocationCode(KeyboardState keyboard, object keyObj, out int key) + { + key = -1; + if (keyObj is string) + { + string keyStr = keyObj as string; + DriverValue driverValue; + if (keyStr.StartsWith("0x")) + { + uint driverValueUInt; + if (uint.TryParse(keyStr.Substring(2), NumberStyles.HexNumber, null, out driverValueUInt) && + keyboard.DriverValueToLocationCode.TryGetValue(driverValueUInt, out key)) + { + return true; + } + } + else if (int.TryParse(keyStr, out key)) + { + return true; + } + else if (Enum.TryParse(keyStr, true, out driverValue) && + keyboard.DriverValueToLocationCode.TryGetValue((uint)driverValue, out key)) + { + return true; + } + } + else if (keyObj is long) + { + key = (int)((long)keyObj); + return true; + } + return false; + } + + private void LoadStatic(KeyboardState keyboard, Dictionary json) + { + Dictionary data; + if (Json.TryGetValue(json, "Data", out data)) + { + foreach (KeyValuePair item in data) + { + int key; + string colorStr = item.Value as string; + uint color; + if (TryGetKeyLocationCode(keyboard, item.Key, out key) && TryParseColor(colorStr, true, out color)) + { + KeyColors[key] = color; + } + } + } + } + + private void LoadDynamic(KeyboardState keyboard, Dictionary json) + { + List framesObjs; + if (Json.TryGetValue(json, "Frames", out framesObjs)) + { + foreach (object frameObj in framesObjs) + { + Dictionary frameData = frameObj as Dictionary; + if (frameData != null) + { + Frame frame = new Frame(); + Frames.Add(frame); + + long frameCount; + if (Json.TryGetValue(frameData, "Count", out frameCount) && frameCount > 0) + { + frame.Count = (int)frameCount; + } + else + { + frame.Count = 1; + } + TotalFrames += frame.Count; + + Dictionary dataAsDictionary; + List dataAsList; + if (Json.TryGetValue(frameData, "Data", out dataAsDictionary)) + { + foreach (KeyValuePair item in dataAsDictionary) + { + // There seems to be a color in the value, this isn't used? Maybe it's used + // for DIY lighting if this is designed to support DIY lighting? + int keyCode; + if (TryGetKeyLocationCode(keyboard, item.Key, out keyCode)) + { + frame.KeyCodes.Add(keyCode); + } + } + } + else if (Json.TryGetValue(frameData, "Data", out dataAsList)) + { + foreach (object keyCodeObj in dataAsList) + { + int keyCode; + if (TryGetKeyLocationCode(keyboard, keyCodeObj, out keyCode)) + { + frame.KeyCodes.Add(keyCode); + } + } + } + } + } + } + + List configsObjs; + if (Json.TryGetValue(json, "LEConfigs", out configsObjs)) + { + foreach (object configObj in configsObjs) + { + Dictionary config = configObj as Dictionary; + if (config != null) + { + Param param = new Param(); + + long colorTypeVal; + string colorTypeStr; + if (Json.TryGetValue(config, "Type", out colorTypeStr)) + { + if (!Enum.TryParse(colorTypeStr, true, out param.ColorType)) + { + param.ColorType = LightingEffectColorType.Monochrome; + } + } + else if (Json.TryGetValue(config, "Type", out colorTypeVal)) + { + param.ColorType = (LightingEffectColorType)colorTypeVal; + } + else + { + param.ColorType = LightingEffectColorType.Monochrome; + } + + string colorStr; + if (Json.TryGetValue(config, "Color", out colorStr)) + { + TryParseColor(colorStr, false, out param.Color); + } + + long param1 = 0; + if (Json.TryGetValue(config, "Count", out param1)) + { + param.Val1 = (int)param1; + } + else if (Json.TryGetValue(config, "Val1", out param1)) + { + param.Val1 = (int)param1; + } + long param2 = 0; + if (Json.TryGetValue(config, "StayCount", out param2)) + { + param.Val2 = (int)param2; + } + else if (Json.TryGetValue(config, "Val2", out param2)) + { + param.Val2 = (int)param2; + } + + if (!Json.TryGetValue(config, "UseRawValues", out param.UseRawValues)) + { + long useRawValues; + if (Json.TryGetValue(config, "UseRawValues", out useRawValues) && useRawValues == 1) + { + param.UseRawValues = true; + } + } + + List keys; + if (Json.TryGetValue(config, "Keys", out keys)) + { + foreach (object keyObj in keys) + { + int keyCode; + if (TryGetKeyLocationCode(keyboard, keyObj, out keyCode)) + { + param.Keys.Add(keyCode); + } + } + } + + if (param.Keys.Count > 0) + { + Params.Add(param); + } + } + } + } + } + } + + enum GroupType + { + None, + Layer, + Macro, + Lighting + } + + private Layer FindOrAddLayer(KeyboardLayer layer, bool fn) + { + Dictionary layers = fn ? FnLayers : Layers; + Layer result; + if (layers.TryGetValue(layer, out result)) + { + return result; + } + result = new Layer(); + layers[layer] = result; + return result; + } + + private Macro GetMacro(string name) + { + Macro result; + if (Macros.TryGetValue(name, out result)) + { + if (result.Id == -1) + { + result.Id = nextMacroId++; + } + } + return result; + } + + private LightingEffect GetLighting(string name) + { + LightingEffect result; + if (LightingEffects.TryGetValue(name, out result)) + { + if (result.Id == -1) + { + result.Id = nextLightingId++; + } + } + return result; + } + + public List GetLightingEffects(KeyboardLayer layer) + { + List result = new List(); + foreach (LightingEffect effect in LightingEffects.Values) + { + if (effect.Layers.Contains(layer)) + { + result.Add(effect); + } + } + return result; + } + + public int GetNumMacros(KeyboardLayer layer) + { + List layers = new List(); + Layer userLayer; + if (Layers.TryGetValue(layer, out userLayer)) + { + layers.Add(userLayer); + } + if (FnLayers.TryGetValue(layer, out userLayer)) + { + layers.Add(userLayer); + } + HashSet macroIds = new HashSet(); + foreach (Layer l in layers) + { + foreach (uint key in l.Keys.Values) + { + if (KeyValues.GetKeyType(key) == DriverValueType.Macro) + { + macroIds.Add(KeyValues.GetKeyData2(key)); + } + } + } + return macroIds.Count; + } + + public static UserDataFile Load(KeyboardState keyboard, string file) + { + if (!File.Exists(file)) + { + return null; + } + UserDataFile result = new UserDataFile(); + result.Load(keyboard, file, GroupType.Lighting, GroupType.Macro); + result.Load(keyboard, file, GroupType.Layer); + return result; + } + + private void Load(KeyboardState keyboard, string file, params GroupType[] groups) + { + GroupType currentGroup = GroupType.None; + Macro currentMacro = null; + HashSet currentLayers = new HashSet(); + + string[] lines = File.ReadAllLines(file); + for (int i = 0; i < lines.Length; i++) + { + string line = lines[i].Trim(); + if (line.StartsWith("#")) + { + continue; + } + if (line.StartsWith("[")) + { + currentGroup = GroupType.None; + currentLayers.Clear(); + + int endBrace = line.IndexOf(']'); + if (endBrace > 1) + { + string fullGroupName = line.Substring(1, endBrace - 1).Trim(); + string[] groupNames = null; + string innerName = null; + string[] innerNameSplitted = null; + int openParenth = fullGroupName.IndexOf('('); + int closeParenth = fullGroupName.IndexOf(')'); + if (openParenth > 0 && closeParenth > openParenth) + { + innerName = fullGroupName.Substring(openParenth + 1, closeParenth - (openParenth + 1)); + innerNameSplitted = innerName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + innerName = innerNameSplitted.Length > 0 ? innerNameSplitted[0] : null; + for (int j = 0; j < innerNameSplitted.Length; j++) + { + innerNameSplitted[j] = innerNameSplitted[j].Trim(); + } + if (!string.IsNullOrEmpty(innerName)) + { + innerName = innerName.Trim(); + } + + groupNames = new string[] { fullGroupName.Substring(0, openParenth).Trim() }; + } + else + { + // This is for layers (not macro / lighting) + groupNames = fullGroupName.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + for (int j = 0; j < groupNames.Length; j++) + { + groupNames[j] = groupNames[j].Trim(); + } + } + foreach (string groupName in groupNames) + { + switch (groupName.ToLower()) + { + case "base": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Base, false)); + } + break; + case "layer1": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer1, false)); + } + break; + case "layer2": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer2, false)); + } + break; + case "layer3": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer3, false)); + } + break; + case "fnbase": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Base, true)); + } + break; + case "fnlayer1": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer1, true)); + } + break; + case "fnlayer2": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer2, true)); + } + break; + case "fnlayer3": + if (groups.Contains(GroupType.Layer)) + { + currentGroup = GroupType.Layer; + currentLayers.Add(FindOrAddLayer(KeyboardLayer.Layer3, true)); + } + break; + case "macro": + if (groups.Contains(GroupType.Macro) && !string.IsNullOrEmpty(innerName)) + { + currentGroup = GroupType.Macro; + currentMacro = new Macro(innerName); + Macros[innerName] = currentMacro; + if (innerNameSplitted.Length > 1) + { + ushort.TryParse(innerNameSplitted[1], out currentMacro.DefaultDelay); + } + if (innerNameSplitted.Length > 2) + { + if (!Enum.TryParse(innerNameSplitted[2], true, out currentMacro.RepeatType)) + { + currentMacro.RepeatType = MacroRepeatType.RepeatXTimes; + } + } + if (innerNameSplitted.Length > 3) + { + byte.TryParse(innerNameSplitted[3], out currentMacro.RepeatCount); + } + if (innerNameSplitted.Length > 4) + { + bool.TryParse(innerNameSplitted[4], out currentMacro.UseTrailingDelay); + } + if (currentMacro.RepeatCount == 0) + { + // No point in having a macro which doesn't even run... + currentMacro.RepeatCount = 1; + } + } + break; + case "lighting": + if (groups.Contains(GroupType.Lighting) && !string.IsNullOrEmpty(innerName)) + { + currentGroup = GroupType.Lighting; + LightingEffect lightingEffect = new LightingEffect(innerName); + if (lightingEffect.Load(keyboard)) + { + LightingEffects[innerName] = lightingEffect; + + for (int j = 1; j < innerNameSplitted.Length; j++) + { + KeyboardLayer layer; + if (Enum.TryParse(innerNameSplitted[j], out layer)) + { + lightingEffect.Layers.Add(layer); + } + } + } + else + { + Program.Log("Failed to load lighting effect '" + innerName + "'"); + } + } + break; + case "nolighting": + if (innerNameSplitted != null) + { + for (int j = 0; j < innerNameSplitted.Length; j++) + { + KeyboardLayer layer; + if (Enum.TryParse(innerNameSplitted[j], out layer)) + { + NoLightingLayers.Add(layer); + } + } + } + else + { + NoLighting = true; + } + break; + } + } + } + } + else + { + switch (currentGroup) + { + case GroupType.Layer: + { + string[] splitted = line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); + if (splitted.Length > 1) + { + string[] keysSplittedSrc = splitted[0].Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries); + string[] keysSplittedDst = splitted[1].Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries); + + uint srcValue = 0; + uint dstValue = 0; + + foreach (string str in keysSplittedSrc) + { + if (str.StartsWith("0x")) + { + uint.TryParse(str, NumberStyles.HexNumber, null, out srcValue); + } + else + { + DriverValue value; + if (Enum.TryParse(str, out value)) + { + srcValue = (uint)value; + } + } + } + + if (srcValue != 0) + { + foreach (string str in keysSplittedDst) + { + if (str.StartsWith("0x")) + { + uint.TryParse(str, NumberStyles.HexNumber, null, out dstValue); + } + else if (str.ToLower().StartsWith("macro")) + { + int openParenth = str.IndexOf('('); + int closeParenth = str.IndexOf(')'); + if (openParenth > 0 && closeParenth > openParenth) + { + string macroName = str.Substring(openParenth + 1, closeParenth - (openParenth + 1)); + Macro macro = GetMacro(macroName); + if (macro != null) + { + Debug.Assert(macro.Id >= 0 && macro.Id <= byte.MaxValue); + dstValue = (uint)(0x0A010000 + macro.Id); + } + else + { + Program.Log("Failed to find macro '" + macroName + "' bound to key " + (DriverValue)srcValue); + } + } + } + else + { + DriverValue value; + if (Enum.TryParse(str, out value)) + { + switch (KeyValues.GetKeyType((uint)value)) + { + case DriverValueType.Key: + // TODO: Extra validation (this only makes sense for modifiers) + dstValue |= (uint)value; + break; + default: + dstValue = (uint)value; + break; + } + } + } + } + foreach (Layer currentLayer in currentLayers) + { + currentLayer.Keys[srcValue] = dstValue; + } + } + } + } + break; + case GroupType.Macro: + { + string[] splitted = line.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); + if (splitted.Length > 1) + { + string[] keysSplitted = splitted[1].Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries); + + ushort delay = currentMacro.DefaultDelay; + if (splitted.Length > 2) + { + if (!ushort.TryParse(splitted[2], out delay)) + { + delay = currentMacro.DefaultDelay; + } + } + + MacroKeyState[] states = null; + switch (splitted[0].ToLower()) + { + case "press": + states = new MacroKeyState[] { MacroKeyState.Down, MacroKeyState.Up }; + break; + case "down": + states = new MacroKeyState[] { MacroKeyState.Down }; + break; + case "up": + states = new MacroKeyState[] { MacroKeyState.Up }; + break; + } + for (int j = 0; j < states.Length; j++) + { + MacroKeyState state = states[j]; + for (int k = 0; k < keysSplitted.Length; k++) + { + string str = keysSplitted[k]; + Macro.Action action = new Macro.Action(); + action.State = state; + if (j == states.Length - 1 && k == keysSplitted.Length - 1) + { + // Only set the delay on the last listed key for each macro line entry + action.Delay = delay; + } + else + { + action.Delay = 0; + } + + DriverValue value; + if (Enum.TryParse(str, out value)) + { + switch (value) + { + case DriverValue.LCtrl: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.LCtrl; + //action.KeyCode = (byte)DriverValueModifer.LCtrl; + break; + case DriverValue.LShift: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.LShift; + //action.KeyCode = (byte)DriverValueModifer.LShift; + break; + case DriverValue.LAlt: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.LAlt; + //action.KeyCode = (byte)DriverValueModifer.LAlt; + break; + case DriverValue.LWin: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.LWin; + //action.KeyCode = (byte)DriverValueModifer.LWin; + break; + case DriverValue.RCtrl: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.RCtrl; + //action.KeyCode = (byte)DriverValueModifer.RCtrl; + break; + case DriverValue.RShift: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.RShift; + //action.KeyCode = (byte)DriverValueModifer.RShift; + break; + case DriverValue.RAlt: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.RAlt; + //action.KeyCode = (byte)DriverValueModifer.RAlt; + break; + case DriverValue.RWin: + action.Type = MacroKeyType.Key; + action.Modifier = DriverValueModifer.RWin; + //action.KeyCode = (byte)DriverValueModifer.RWin; + break; + case DriverValue.MouseLClick: + action.Type = MacroKeyType.Mouse; + action.KeyCode = (byte)DriverValueMouseButton.LButton; + break; + case DriverValue.MouseRClick: + action.Type = MacroKeyType.Mouse; + action.KeyCode = (byte)DriverValueMouseButton.RButton; + break; + case DriverValue.MouseMClick: + action.Type = MacroKeyType.Mouse; + action.KeyCode = (byte)DriverValueMouseButton.MButton; + break; + case DriverValue.MouseBack: + action.Type = MacroKeyType.Mouse; + action.KeyCode = (byte)DriverValueMouseButton.Back; + break; + case DriverValue.MouseAdvance: + action.Type = MacroKeyType.Mouse; + action.KeyCode = (byte)DriverValueMouseButton.Advance; + break; + default: + action.Type = MacroKeyType.Key; + action.KeyCode = (byte)KeyValues.GetShortDriverValue((uint)value); + break; + } + } + + currentMacro.Actions.Add(action); + } + } + } + } + break; + } + } + } + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..64ebe49 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# GK6X