MCPcopy Create free account
hub / github.com/ChiyukiGana/Quickinput / Trigger

Function Trigger

source/src/trigger.cpp:5–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3namespace QiTr
4{
5 void Trigger(short vk, const bool* state)
6 {
7 // state swtich
8 if ((vk == Qi::set.key1 || vk == Qi::set.key2) && (Qi::set.key1 ? state[Qi::set.key1] : true) && (Qi::set.key2 ? state[Qi::set.key2] : true)) QiState(!Qi::state);
9 // show clock
10 if (Qi::fun.showClock.state && Qi::fun.showClock.key == vk && state[Qi::fun.showClock.key]) Qi::popText->Popup(QDateTime::currentDateTime().toString(L"hh:mm:ss"));
11 if (!Qi::run) return;
12 // quick click
13 if (Qi::fun.quickClick.state && Qi::fun.quickClick.key == vk)
14 {
15 if (state[Qi::fun.quickClick.key]) // key down
16 {
17 if (Qi::fun.quickClick.mode) // switch mode
18 {
19 if (Qi::fun.quickClick.thread.active())
20 {
21 Qi::fun.quickClick.thread.stop();
22 if (Qi::set.showTips && !Qi::ui.pop.qcd.t.isEmpty()) QiFn::QuickClickPop(false);
23 if (Qi::set.audFx) QiFn::SoundPlay(Qi::ui.pop.qcd.s, false);
24 }
25 else
26 {
27 Qi::fun.quickClick.thread.start();
28 if (Qi::set.showTips && !Qi::ui.pop.qce.t.isEmpty()) QiFn::QuickClickPop(true);
29 if (Qi::set.audFx) QiFn::SoundPlay(Qi::ui.pop.qce.s, false);
30 }
31 }
32 else // press mode
33 {
34 if (!Qi::fun.quickClick.thread.active())
35 {
36 Qi::fun.quickClick.thread.start();
37 if (Qi::set.showTips && !Qi::ui.pop.qce.t.isEmpty()) QiFn::QuickClickPop(true);
38 if (Qi::set.audFx) QiFn::SoundPlay(Qi::ui.pop.qce.s, false);
39 }
40 }
41 }
42 else // key up
43 {
44 if (!Qi::fun.quickClick.mode) // press mode
45 {
46 if (Qi::fun.quickClick.thread.active())
47 {
48 Qi::fun.quickClick.thread.stop();
49 if (Qi::set.showTips && !Qi::ui.pop.qcd.t.isEmpty()) QiFn::QuickClickPop(false);
50 if (Qi::set.audFx) QiFn::SoundPlay(Qi::ui.pop.qcd.s, false);
51 }
52 }
53 }
54 }
55 // macros
56 for (auto& m : Qi::macroActive)
57 {
58 Macro& macro = *m;
59 if (vk != macro.key1 && vk != macro.key2) continue;
60
61 if (macro.matchState)
62 {

Callers 2

InputTaskFunction · 0.85
QiHookFunction · 0.85

Calls 14

QiStateFunction · 0.85
QuickClickPopFunction · 0.85
SoundPlayFunction · 0.85
MacroPopFunction · 0.85
PopupMethod · 0.80
run_activeMethod · 0.80
end_startMethod · 0.80
run_startMethod · 0.80
toStringMethod · 0.45
activeMethod · 0.45
stopMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected