diff --git a/.DS_Store b/.DS_Store
index 96e5fee..f0476a0 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/EFI/.DS_Store b/EFI/.DS_Store
index 7de41f3..4865f5b 100644
Binary files a/EFI/.DS_Store and b/EFI/.DS_Store differ
diff --git a/EFI/OC/.DS_Store b/EFI/OC/.DS_Store
index a494d69..73ddad6 100755
Binary files a/EFI/OC/.DS_Store and b/EFI/OC/.DS_Store differ
diff --git a/EFI/OC/ACPI/.DS_Store b/EFI/OC/ACPI/.DS_Store
index 7fc74b3..0eb6201 100755
Binary files a/EFI/OC/ACPI/.DS_Store and b/EFI/OC/ACPI/.DS_Store differ
diff --git a/EFI/OC/ACPI/SSDT-EC-USBX.aml b/EFI/OC/ACPI/SSDT-EC-USBX.aml
index 5803cd1..523f940 100755
Binary files a/EFI/OC/ACPI/SSDT-EC-USBX.aml and b/EFI/OC/ACPI/SSDT-EC-USBX.aml differ
diff --git a/EFI/OC/ACPI/SSDT-PTSWAK.aml b/EFI/OC/ACPI/SSDT-PTSWAK.aml
index 263acf7..089e3e1 100755
Binary files a/EFI/OC/ACPI/SSDT-PTSWAK.aml and b/EFI/OC/ACPI/SSDT-PTSWAK.aml differ
diff --git a/EFI/OC/ACPI/SSDT-T450S-VPS2.aml b/EFI/OC/ACPI/SSDT-T450S-VPS2.aml
new file mode 100755
index 0000000..5f93658
Binary files /dev/null and b/EFI/OC/ACPI/SSDT-T450S-VPS2.aml differ
diff --git a/EFI/OC/ACPI/SSDT-VPS2.aml b/EFI/OC/ACPI/SSDT-VPS2.aml
deleted file mode 100755
index 6f4c9e7..0000000
Binary files a/EFI/OC/ACPI/SSDT-VPS2.aml and /dev/null differ
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist
index ebfd9be..753a207 100755
--- a/EFI/OC/config.plist
+++ b/EFI/OC/config.plist
@@ -60,7 +60,7 @@
Enabled
Path
- SSDT-VPS2.aml
+ SSDT-T450S-VPS2.aml
Comment
@@ -910,6 +910,240 @@
TableSignature
+
+ Comment
+ _Q16 to XQ16 (F7 - Dual Display)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1ExNg==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFExNg==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q74 to XQ74 (FN - ESC)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E3NA==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE3NA==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q6A to XQ6A (F4 - Microphone Mute)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2QQ==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2QQ==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q64 to XQ64 (F8 - Wifi)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2NA==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2NA==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q66 to XQ66 (F9 - Settings)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2Ng==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2Ng==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q67 to XQ67 (F10 - Spotlight)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2Nw==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2Nw==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q68 to XQ68 (F11 - App Switcher)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2OA==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2OA==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q69 to XQ69 (F12 - Launchpad)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1E2OQ==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFE2OQ==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
+ Comment
+ _Q1F to XQ1F (FN - Space)
+ Count
+ 0
+ Enabled
+
+ Find
+ X1ExRg==
+ Limit
+ 0
+ Mask
+
+ OemTableId
+
+ Replace
+ WFExRg==
+ ReplaceMask
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
Quirks
diff --git a/README-English.md b/README-English.md
index 9ac6610..c3b3f2d 100755
--- a/README-English.md
+++ b/README-English.md
@@ -8,6 +8,19 @@
- support Catalina
- support ThinkPad X250
+# ThinkPad Assistant
+- Allows you to use all function keys on Thinkpad T450s laptop (test the X250 yourself)
+- Copy the ThinkpadAssistant into the Application folder
+- Start ThinkpadAssistant and check "Start when logged in" in the menu bar
+- F4: Mute / Unmute Microphone (with Status LED indication)
+- F7: Screen mirroring / Screen extending
+- F8: Activate / Deactivate Wi-Fi
+- Left Shift+F8: Activate / Deactivate Bluetooth
+- F9: Open System Preferences
+- F12: Open Launchpad
+- FN+Space: Toggle Keyboard Backlight
+
+
## Hardware information
```
diff --git a/README.md b/README.md
index 167b0f2..3b688b5 100755
--- a/README.md
+++ b/README.md
@@ -6,6 +6,18 @@
- 支持触摸屏
- 支持Catalina
- 支持ThinkPad X250
+# ThinkPad助手(ThinkpadAssistant)
+- 可让您在Thinkpad T450s笔记本电脑上使用所有功能键 (X250请自行测试)
+- 复制ThinkpadAssistant到应用程序文件夹
+- 启动ThinkpadAssistant,并在菜单栏中勾选“登录时启动”
+- F4:麦克风静音/取消静音(带有状态LED指示)
+- F7:屏幕镜像/屏幕扩展
+- F8:启用/停用Wi-Fi
+- 左Shift + F8键:启用/停用蓝牙
+- F9:打开系统偏好设置
+- F12:打开启动板
+- FN + Space:切换键盘背光
+
## 硬件信息
diff --git a/ThinkpadAssistant.app/Contents/Info.plist b/ThinkpadAssistant.app/Contents/Info.plist
new file mode 100644
index 0000000..813f9aa
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Info.plist
@@ -0,0 +1,56 @@
+
+
+
+
+ BuildMachineOSBuild
+ 19G73
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ ThinkpadAssistant
+ CFBundleIconFile
+ AppIcon
+ CFBundleIconName
+ AppIcon
+ CFBundleIdentifier
+ de.mszturc.ThinkpadAssistant
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ ThinkpadAssistant
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.9.2
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 11E708
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 19G68
+ DTSDKName
+ macosx10.15
+ DTXcode
+ 1160
+ DTXcodeBuild
+ 11E708
+ LSMinimumSystemVersion
+ 10.14.6
+ LSUIElement
+
+ NSHumanReadableCopyright
+ Copyright © 2020 Matthäus Szturc. All rights reserved.
+ NSMainStoryboardFile
+ Main
+ NSPrincipalClass
+ NSApplication
+
+
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Info.plist b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Info.plist
new file mode 100644
index 0000000..8b1799d
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ BuildMachineOSBuild
+ 19G73
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ AutoLaunchHelper
+ CFBundleIdentifier
+ de.mszturc.AutoLaunchHelper
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ AutoLaunchHelper
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 11E708
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 19G68
+ DTSDKName
+ macosx10.15
+ DTXcode
+ 1160
+ DTXcodeBuild
+ 11E708
+ LSBackgroundOnly
+
+ LSMinimumSystemVersion
+ 10.15
+ NSHumanReadableCopyright
+ Copyright © 2020 Matthäus Szturc. All rights reserved.
+ NSMainStoryboardFile
+ Main
+ NSPrincipalClass
+ NSApplication
+
+
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/MacOS/AutoLaunchHelper b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/MacOS/AutoLaunchHelper
new file mode 100755
index 0000000..03d9535
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/MacOS/AutoLaunchHelper differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/PkgInfo b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist
new file mode 100644
index 0000000..2f3a655
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
new file mode 100644
index 0000000..837b2be
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/InfoPlist.strings
new file mode 100644
index 0000000..4232ab5
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/Main.strings
new file mode 100644
index 0000000..6edf194
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/cs.lproj/Main.strings
@@ -0,0 +1,3 @@
+
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Hlavní menu";
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/InfoPlist.strings
new file mode 100644
index 0000000..dbb6882
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/Main.strings
new file mode 100644
index 0000000..201ed7d
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/de.lproj/Main.strings
@@ -0,0 +1,3 @@
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Hauptmenü";
+
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/InfoPlist.strings
new file mode 100644
index 0000000..9c5a735
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/Main.strings
new file mode 100644
index 0000000..fd42188
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/it.lproj/Main.strings
@@ -0,0 +1,2 @@
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Menu Principale";
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 0000000..5685357
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/Main.strings
new file mode 100644
index 0000000..5e09356
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/Resources/zh-Hans.lproj/Main.strings
@@ -0,0 +1,3 @@
+
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "主菜单";
diff --git a/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/_CodeSignature/CodeResources b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..e6aa148
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Library/LoginItems/AutoLaunchHelper.app/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,283 @@
+
+
+
+
+ files
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ M1rS+Tcas1ZdM4/iibTlduTJ22M=
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ UWipRiQ2g8bXhMcwzrnlkwojZKE=
+
+ Resources/cs.lproj/InfoPlist.strings
+
+ hash
+
+ /Zaw4eCB9DoLUljLygKBkt5ty34=
+
+ optional
+
+
+ Resources/cs.lproj/Main.strings
+
+ hash
+
+ nHu96QfdeE8YSkojwQESxXns0s8=
+
+ optional
+
+
+ Resources/de.lproj/InfoPlist.strings
+
+ hash
+
+ pyEv2Ngguo57zY4PXY/4HPxHMtw=
+
+ optional
+
+
+ Resources/de.lproj/Main.strings
+
+ hash
+
+ GE0e+3RH23svI3oIbMuncFbm5Vs=
+
+ optional
+
+
+ Resources/it.lproj/InfoPlist.strings
+
+ hash
+
+ UyuedMsSVkkJSMXpPfBPeeiwCao=
+
+ optional
+
+
+ Resources/it.lproj/Main.strings
+
+ hash
+
+ Aa8rIKipWbGIJheSlXJN2xShvqk=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/InfoPlist.strings
+
+ hash
+
+ 35bPa6XmANf5GEatV3zUgfx9zn0=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Main.strings
+
+ hash
+
+ Y1c3MFWGzDzT6LyKkWLTzdv+GTY=
+
+ optional
+
+
+
+ files2
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ hash2
+
+ 6/2HagpKuzGhxFgQU55Lc/bxgR30qm5eqHSV+p9e4/4=
+
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ hash2
+
+ nPWQ4JnEhxUqbaSz3cIQTxZHD2nnX9sye5Dqodmi/Z8=
+
+
+ Resources/cs.lproj/InfoPlist.strings
+
+ hash2
+
+ /AIQArNfDzoI149VQYqxH81DBK2Ofu3CcJAw2hNDGwY=
+
+ optional
+
+
+ Resources/cs.lproj/Main.strings
+
+ hash2
+
+ keKPCGCtyrnVGebFsPKIaQU2r4+gdqn2ZIwlnmJ/i80=
+
+ optional
+
+
+ Resources/de.lproj/InfoPlist.strings
+
+ hash2
+
+ oFZpf8bvbsAU4oTscWJUIvx0YTBoVVruOcBwVoFl5OQ=
+
+ optional
+
+
+ Resources/de.lproj/Main.strings
+
+ hash2
+
+ S5CD5nRWFJ0jbbeLpUJLaZqozGwY/KlSC/N8fJuLvwk=
+
+ optional
+
+
+ Resources/it.lproj/InfoPlist.strings
+
+ hash2
+
+ HjExfvmkStWYdDaEa64W7vCnUdf4GnKxuJe15yes/a4=
+
+ optional
+
+
+ Resources/it.lproj/Main.strings
+
+ hash2
+
+ blxKGN4/QkcccVK8mFxgGMrLiMvc8/T5/pvtvjg1W6s=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/InfoPlist.strings
+
+ hash2
+
+ jNHbMOnHqZbY/RAC+FKiaDw290R/Lr5Jkkmkzcdh8Ok=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Main.strings
+
+ hash2
+
+ Bdtipw2CZWnkZhuikZrUfQdw2OUYs8gefRep7xkJ/nM=
+
+ optional
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/ThinkpadAssistant.app/Contents/MacOS/ThinkpadAssistant b/ThinkpadAssistant.app/Contents/MacOS/ThinkpadAssistant
new file mode 100755
index 0000000..b44265c
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/MacOS/ThinkpadAssistant differ
diff --git a/ThinkpadAssistant.app/Contents/PkgInfo b/ThinkpadAssistant.app/Contents/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/ThinkpadAssistant.app/Contents/Resources/AppIcon.icns b/ThinkpadAssistant.app/Contents/Resources/AppIcon.icns
new file mode 100644
index 0000000..da2fea1
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/AppIcon.icns differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/Assets.car b/ThinkpadAssistant.app/Contents/Resources/Assets.car
new file mode 100644
index 0000000..0ec7211
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/Assets.car differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist
new file mode 100644
index 0000000..2cf28b1
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
new file mode 100644
index 0000000..010798c
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-xkd-VN-pTw.nib b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-xkd-VN-pTw.nib
new file mode 100644
index 0000000..9982d8d
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-xkd-VN-pTw.nib differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/ahD-Xn-7zm-view-xlW-zJ-aUL.nib b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/ahD-Xn-7zm-view-xlW-zJ-aUL.nib
new file mode 100644
index 0000000..a461ed1
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/Base.lproj/Main.storyboardc/ahD-Xn-7zm-view-xlW-zJ-aUL.nib differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/cs.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/InfoPlist.strings
new file mode 100644
index 0000000..0c561c7
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Localizable.strings b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Localizable.strings
new file mode 100644
index 0000000..833f87f
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Localizable.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Main.strings
new file mode 100644
index 0000000..7a5d30d
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Resources/cs.lproj/Main.strings
@@ -0,0 +1,24 @@
+
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Hlavní menu";
+
+/* Class = "NSTextFieldCell"; title = "Copyright © 2020 Matthäus Szturc. All rights reserved."; ObjectID = "Dsc-bK-vCJ"; */
+"Dsc-bK-vCJ.title" = "Copyright © 2020 Matthäus Szturc. Všechna práva vyhrazena.";
+
+/* Class = "NSMenuItem"; title = "About Thinkpad Assistant"; ObjectID = "Kql-K9-yoI"; */
+"Kql-K9-yoI.title" = "O aplikaci Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "Launch on Login"; ObjectID = "Lcb-4h-zk2"; */
+"Lcb-4h-zk2.title" = "Otevřít při přihlášení";
+
+/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "Q77-Nx-rEG"; */
+"Q77-Nx-rEG.title" = "Ukončit";
+
+/* Class = "NSMenuItem"; title = "Monitor Capslock"; ObjectID = "Nth-Jo-BIN"; */
+"Nth-Jo-BIN.title" = "Kontrola Caps Locku";
+
+/* Class = "NSTextFieldCell"; title = "Version 1.0.0"; ObjectID = "Yvs-Nm-uAg"; */
+"Yvs-Nm-uAg.title" = "Verze 1.0.0";
+
+/* Class = "NSWindow"; title = "About Thinkpad Assistant"; ObjectID = "eOf-uU-tUq"; */
+"eOf-uU-tUq.title" = "O aplikaci Thinkpad Assistant";
diff --git a/ThinkpadAssistant.app/Contents/Resources/de.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Resources/de.lproj/InfoPlist.strings
new file mode 100644
index 0000000..e0d9edc
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/de.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/de.lproj/Localizable.strings b/ThinkpadAssistant.app/Contents/Resources/de.lproj/Localizable.strings
new file mode 100644
index 0000000..89ea1fe
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/de.lproj/Localizable.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/de.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Resources/de.lproj/Main.strings
new file mode 100644
index 0000000..2e72bdf
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Resources/de.lproj/Main.strings
@@ -0,0 +1,24 @@
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Hauptmenü";
+
+/* Class = "NSTextFieldCell"; title = "Copyright © 2020 Matthäus Szturc. All rights reserved."; ObjectID = "Dsc-bK-vCJ"; */
+"Dsc-bK-vCJ.title" = "Copyright © 2020 Matthäus Szturc. Alle Rechte vorbehalten.";
+
+/* Class = "NSWindow"; title = "About Thinkpad Assistant"; ObjectID = "eOf-uU-tUq"; */
+"eOf-uU-tUq.title" = "Über Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "About Thinkpad Assistant"; ObjectID = "Kql-K9-yoI"; */
+"Kql-K9-yoI.title" = "Über Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "Launch on Login"; ObjectID = "Lcb-4h-zk2"; */
+"Lcb-4h-zk2.title" = "Mit MacOS starten";
+
+/* Class = "NSMenuItem"; title = "Monitor Capslock"; ObjectID = "Nth-Jo-BIN"; */
+"Nth-Jo-BIN.title" = "Capslock überwachen";
+
+/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "Q77-Nx-rEG"; */
+"Q77-Nx-rEG.title" = "Beenden";
+
+/* Class = "NSTextFieldCell"; title = "Version 1.0.0"; ObjectID = "Yvs-Nm-uAg"; */
+"Yvs-Nm-uAg.title" = "Version 1.0.0";
+
diff --git a/ThinkpadAssistant.app/Contents/Resources/it.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Resources/it.lproj/InfoPlist.strings
new file mode 100644
index 0000000..7259545
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/it.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/it.lproj/Localizable.strings b/ThinkpadAssistant.app/Contents/Resources/it.lproj/Localizable.strings
new file mode 100644
index 0000000..b1c90aa
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/it.lproj/Localizable.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/it.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Resources/it.lproj/Main.strings
new file mode 100644
index 0000000..9823d0e
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Resources/it.lproj/Main.strings
@@ -0,0 +1,23 @@
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "Menu Principale";
+
+/* Class = "NSTextFieldCell"; title = "Copyright © 2020 Matthäus Szturc. All rights reserved."; ObjectID = "Dsc-bK-vCJ"; */
+"Dsc-bK-vCJ.title" = "Copyright © 2020 Matthäus Szturc. Tutti i diritti riservati.";
+
+/* Class = "NSWindow"; title = "About Thinkpad Assistant"; ObjectID = "eOf-uU-tUq"; */
+"eOf-uU-tUq.title" = "Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "About Thinkpad Assistant"; ObjectID = "Kql-K9-yoI"; */
+"Kql-K9-yoI.title" = "Informazioni";
+
+/* Class = "NSMenuItem"; title = "Launch on Login"; ObjectID = "Lcb-4h-zk2"; */
+"Lcb-4h-zk2.title" = "Avvia al Login";
+
+/* Class = "NSMenuItem"; title = "Monitor Capslock"; ObjectID = "Nth-Jo-BIN"; */
+"Nth-Jo-BIN.title" = "Monitoraggio Blocco Maiuscolo";
+
+/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "Q77-Nx-rEG"; */
+"Q77-Nx-rEG.title" = "Esci";
+
+/* Class = "NSTextFieldCell"; title = "Version 1.0.0"; ObjectID = "Yvs-Nm-uAg"; */
+"Yvs-Nm-uAg.title" = "Versione 1.0.0";
diff --git a/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings
new file mode 100644
index 0000000..6fd13ce
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/InfoPlist.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Localizable.strings b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Localizable.strings
new file mode 100644
index 0000000..7019f22
Binary files /dev/null and b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Localizable.strings differ
diff --git a/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Main.strings b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Main.strings
new file mode 100644
index 0000000..7ecf887
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/Resources/zh-Hans.lproj/Main.strings
@@ -0,0 +1,23 @@
+/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "AYu-sK-qS6"; */
+"AYu-sK-qS6.title" = "主菜单";
+
+/* Class = "NSTextFieldCell"; title = "Copyright © 2020 Matthäus Szturc. All rights reserved."; ObjectID = "Dsc-bK-vCJ"; */
+"Dsc-bK-vCJ.title" = "版权所有 © 2020 Matthäus Szturc. 保留所有权利";
+
+/* Class = "NSWindow"; title = "About Thinkpad Assistant"; ObjectID = "eOf-uU-tUq"; */
+"eOf-uU-tUq.title" = "关于 Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "About Thinkpad Assistant"; ObjectID = "Kql-K9-yoI"; */
+"Kql-K9-yoI.title" = "关于 Thinkpad Assistant";
+
+/* Class = "NSMenuItem"; title = "Launch on Login"; ObjectID = "Lcb-4h-zk2"; */
+"Lcb-4h-zk2.title" = "开机自启动";
+
+/* Class = "NSMenuItem"; title = "Monitor Capslock"; ObjectID = "Nth-Jo-BIN"; */
+"Nth-Jo-BIN.title" = "监测大写锁定键";
+
+/* Class = "NSMenuItem"; title = "Quit"; ObjectID = "Q77-Nx-rEG"; */
+"Q77-Nx-rEG.title" = "退出";
+
+/* Class = "NSTextFieldCell"; title = "Version 1.0.0"; ObjectID = "Yvs-Nm-uAg"; */
+"Yvs-Nm-uAg.title" = "版本 1.0.0";
diff --git a/ThinkpadAssistant.app/Contents/_CodeSignature/CodeResources b/ThinkpadAssistant.app/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..b4635b8
--- /dev/null
+++ b/ThinkpadAssistant.app/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,408 @@
+
+
+
+
+ files
+
+ Resources/AppIcon.icns
+
+ PuRr390qjDGXQJxOTp3bytcWiVU=
+
+ Resources/Assets.car
+
+ XXSucSW6vikuDjIwNk6T38iJIlQ=
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ U44Kl5JQ0D5qYxNy7FGIKEt3FsU=
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ 4FomoPHpa2Naygg7npGQ+MNz5Ns=
+
+ Resources/Base.lproj/Main.storyboardc/NSWindowController-xkd-VN-pTw.nib
+
+ 0a+6OU2s6eUnbCwqqAeZ06TFpaE=
+
+ Resources/Base.lproj/Main.storyboardc/ahD-Xn-7zm-view-xlW-zJ-aUL.nib
+
+ czvvj/RR9WAH0WJSSTs8HtIEDuY=
+
+ Resources/cs.lproj/InfoPlist.strings
+
+ hash
+
+ z+wUVPw2rDQQZnLnlmjTdBWEOVs=
+
+ optional
+
+
+ Resources/cs.lproj/Localizable.strings
+
+ hash
+
+ e0VezwV6PUMTablw9bQeRgoIwN4=
+
+ optional
+
+
+ Resources/cs.lproj/Main.strings
+
+ hash
+
+ fMapuaObSEoYP7JTPYACZilHpVs=
+
+ optional
+
+
+ Resources/de.lproj/InfoPlist.strings
+
+ hash
+
+ 4Bi7BPngepT2ms8pYzfTFfJCGfY=
+
+ optional
+
+
+ Resources/de.lproj/Localizable.strings
+
+ hash
+
+ izB/CcLCk76RU7l6FuGr9Z1jZlg=
+
+ optional
+
+
+ Resources/de.lproj/Main.strings
+
+ hash
+
+ 4e7GgPzXBbhZrQTD/PI6EFnC1Yg=
+
+ optional
+
+
+ Resources/it.lproj/InfoPlist.strings
+
+ hash
+
+ og15BxsldAgTMoySrFjdnALMpxQ=
+
+ optional
+
+
+ Resources/it.lproj/Localizable.strings
+
+ hash
+
+ nVO1sr86smrtraA9btwOoFNgYm4=
+
+ optional
+
+
+ Resources/it.lproj/Main.strings
+
+ hash
+
+ zumzecmO2K1xuQzLab0N59gaq5w=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/InfoPlist.strings
+
+ hash
+
+ UzhvtYxQkNoNH2e7X9+7LtI+ieo=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Localizable.strings
+
+ hash
+
+ eq5cjPYJS54g++A35JvIz5LGUBk=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Main.strings
+
+ hash
+
+ /qzFSYPoAndyRxuCs//f1FK1IkY=
+
+ optional
+
+
+
+ files2
+
+ Library/LoginItems/AutoLaunchHelper.app
+
+ cdhash
+
+ xxVF5OgQ5ivzPqHOlEPkVnPNwyI=
+
+ requirement
+ cdhash H"c71545e4e810e62bf33ea1ce9443e45673cdc322"
+
+ Resources/AppIcon.icns
+
+ hash2
+
+ w71vhSrJGUTfnzaM1etWJyAyw11rsYEXtJeV0TrUMkQ=
+
+
+ Resources/Assets.car
+
+ hash2
+
+ reSqhMGUC6EjlwOW1UuiRMg1Ma2guvn4/OuU84CGD9w=
+
+
+ Resources/Base.lproj/Main.storyboardc/Info.plist
+
+ hash2
+
+ 9ZFP4qYbA+PPYRD13Gi/1PYwZsTLIMrQZ/Womf71Mv0=
+
+
+ Resources/Base.lproj/Main.storyboardc/MainMenu.nib
+
+ hash2
+
+ pG1Yr+Thq0YYS8KDxG2LqnW2/w7/l93cWZrzclmx2HM=
+
+
+ Resources/Base.lproj/Main.storyboardc/NSWindowController-xkd-VN-pTw.nib
+
+ hash2
+
+ xRvl/aYKdv0T1GbMdhF9mdzYdhj2mwwiUV6Qbne52GI=
+
+
+ Resources/Base.lproj/Main.storyboardc/ahD-Xn-7zm-view-xlW-zJ-aUL.nib
+
+ hash2
+
+ 1pYYIFvfS1REZLGDzkaNf0XjrYPOqNew3jG4FmPMG/g=
+
+
+ Resources/cs.lproj/InfoPlist.strings
+
+ hash2
+
+ oS0BL/E2IGPaAue0Lft02O0x5EFcTfuuGUo12tvDeaQ=
+
+ optional
+
+
+ Resources/cs.lproj/Localizable.strings
+
+ hash2
+
+ gpTiUL5HNYGrQimyBBDDYkRwqpW8SNee8TFZBFfmH+E=
+
+ optional
+
+
+ Resources/cs.lproj/Main.strings
+
+ hash2
+
+ q5WLgCE7x+BFSJih9p2zoiv4IFLni4PkcJQiehOyXZw=
+
+ optional
+
+
+ Resources/de.lproj/InfoPlist.strings
+
+ hash2
+
+ k8XGJQTi6Wxta12AEXIPlnT2CYX5DomK1CRt4dIOMkY=
+
+ optional
+
+
+ Resources/de.lproj/Localizable.strings
+
+ hash2
+
+ rJoNDfnnpdKWclbYfEfhWARC6cpcQ/fAu0cgrSopCj0=
+
+ optional
+
+
+ Resources/de.lproj/Main.strings
+
+ hash2
+
+ S/h7RDqIrlOTLSgkQ3LzEk2nygToJO4X4h/68jIWOVw=
+
+ optional
+
+
+ Resources/it.lproj/InfoPlist.strings
+
+ hash2
+
+ YtiO9shgiwR+upK4/96+HjoM+ctGniyFMQQBPD4OwdI=
+
+ optional
+
+
+ Resources/it.lproj/Localizable.strings
+
+ hash2
+
+ F+eQpq4uCk7l7n4bIZC4KTA2yVcaJHiz6MmqbTetxLM=
+
+ optional
+
+
+ Resources/it.lproj/Main.strings
+
+ hash2
+
+ kWuEwL7Uu0rt+3C7hswG7vNpUSiDlidvnccnYlbiYOA=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/InfoPlist.strings
+
+ hash2
+
+ Kdi7TQrTSutYc/YeoXpcErk5VY+Wrz5t3Tb2S67o4m0=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Localizable.strings
+
+ hash2
+
+ 8pUZM3DlVoW3ixrYBI+aNiGRIEBYyNL8A7oXKfnbgMQ=
+
+ optional
+
+
+ Resources/zh-Hans.lproj/Main.strings
+
+ hash2
+
+ 6tkLcKOtj+3JFlgDbc6HgzMKckwzxxITIyN7Tb66fyg=
+
+ optional
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/picture/.DS_Store b/picture/.DS_Store
index 7104d5e..d47499e 100644
Binary files a/picture/.DS_Store and b/picture/.DS_Store differ
diff --git a/picture/demo.gif b/picture/demo.gif
new file mode 100644
index 0000000..a9ac180
Binary files /dev/null and b/picture/demo.gif differ