自动6s关闭大写
搜狗、微软输入法等
方法1(推荐)
添加到热键-脚本,热键设置CAPITAL(大写锁定键),勾选激活、不注册
sp.DeleteTimer('Capsclose');
sp.DisplayTextClose();
var info = new DisplayTextInfo();
info.TitleFont = new Font('Segoe UI', 12, host.flags(FontStyle.Bold));
info.MessageFont = new Font("Segoe UI Semibold", 10);
info.ForeColor = "255,255,255";
info.Duration = 1000;
info.Location = "bottomleft";
info.Padding = 10;
if (sp.IsKeyToggled(vk.CAPITAL)) {
info.BackColor = "37,146,52";
info.Message = "CAPS Lock is ON";
sp.DisplayText(info);
//6秒后自动关闭Caps,不需要可以注释掉或者删除
sp.CreateTimer('Capsclose', 6000, 0,
`if (sp.IsKeyToggled(vk.CAPITAL)) {
var info = new DisplayTextInfo();
info.TitleFont = new Font('Segoe UI', 12, host.flags(FontStyle.Bold));
info.MessageFont = new Font("Segoe UI Semibold", 10);
info.BackColor = "37,146,52";
info.BackColor = "200,56,70";
info.Message = "CAPS Lock is OFF";
info.Duration = 1000;
info.Location = "bottomleft";
info.Padding = 10;
sp.DisplayText(info);
sp.SendVKey(vk.CAPITAL);
}`);
} else {
info.BackColor = "200,56,70";
info.Message = "CAPS Lock is OFF";
sp.DisplayText(info);
}
方法2
添加到全局动作-启动/退出-启动(开启)
重要设置:选项-高级-启动订阅键盘钩子事件
if(__spEngineWrapper.Engine.Name == sp.EngineList().Last().Engine.Name) {
var keyboardEventObj = sp.GetStoredObject("keyboardEvent");
if(!keyboardEventObj.GetType().FullName.includes('EventConnection')) {
//Bind to the synchronous event
var keyboardEvent = KeyboardHook.OnKeyboardHookEventAsync.connect(
function (sender, keyboardHookEvent) {
//Wrap all code in try/catch, exceptions will crash S+, such as calling clip.SetText with a null value
try {
if(keyboardHookEvent.Key == vk.CAPITAL) {
if(keyboardHookEvent.KeyState == KeyState.Up) {
if(!sp.GetStoredBool("CAPSOn")) {
sp.StoreBool("CAPSOn", true);
sp.CreateTimer('Capsclose', 6000, 0, `sp.SendVKey(vk.CAPITAL); sp.DeleteTimer('Capsclose');sp.StoreBool("CAPSOn", false); `);
} else {
sp.StoreBool("CAPSOn", false);
sp.DeleteTimer('Capsclose');
}
}
}
}
catch {}
});
sp.StoreObject("keyboardEvent", keyboardEvent);
}
}