Compare commits
872 Commits
v0.99
...
hidsharp-m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
435ddbb951 | ||
|
|
96ade7c9a0 | ||
|
|
3249072ee5 | ||
|
|
f6602fff3c | ||
|
|
5a7dc5c707 | ||
|
|
e6d7a6f8b3 | ||
|
|
5cd77249a7 | ||
|
|
d9e0045af5 | ||
|
|
a66df0a394 | ||
|
|
f7435b2789 | ||
|
|
f49e2ee1e8 | ||
|
|
f854c8e088 | ||
|
|
bc6edcb38e | ||
|
|
dac7c86f1b | ||
|
|
369c89cb8d | ||
|
|
65e0065234 | ||
|
|
3fa8c04afa | ||
|
|
162514a8f9 | ||
|
|
b51c68572e | ||
|
|
ed5ec6b576 | ||
|
|
8c1885c2ae | ||
|
|
168b751795 | ||
|
|
3e93a93ab3 | ||
|
|
8a12e84423 | ||
|
|
c978c94d59 | ||
|
|
fc83e0e824 | ||
|
|
389fc41722 | ||
|
|
509817f442 | ||
|
|
8d8cfb0521 | ||
|
|
f021135f53 | ||
|
|
98670414d2 | ||
|
|
a41595068e | ||
|
|
d58c277733 | ||
|
|
5701a287aa | ||
|
|
1968b6487c | ||
|
|
95103108f2 | ||
|
|
defb0790e5 | ||
|
|
9da45b43ea | ||
|
|
32a20c3cce | ||
|
|
763337aedd | ||
|
|
f1b51a726b | ||
|
|
a085615398 | ||
|
|
d32a3452f9 | ||
|
|
433022b65d | ||
|
|
460f921836 | ||
|
|
1e2620c484 | ||
|
|
e774f704dd | ||
|
|
aa327f563f | ||
|
|
b9de97ecf4 | ||
|
|
5d7af9bdcd | ||
|
|
c2ca761d99 | ||
|
|
e480ee6f12 | ||
|
|
393cb3300c | ||
|
|
ee90fe4a3d | ||
|
|
a0628ef368 | ||
|
|
701a7d99c4 | ||
|
|
667d365992 | ||
|
|
6232fb1cfb | ||
|
|
a92924840b | ||
|
|
7a4d885e1b | ||
|
|
1c5e46131f | ||
|
|
49d5df9bac | ||
|
|
b8870ba3d5 | ||
|
|
2d7009d8fb | ||
|
|
46bfda3ad5 | ||
|
|
72b1842520 | ||
|
|
2f7b008557 | ||
|
|
97361e010e | ||
|
|
a30920ed70 | ||
|
|
4509b67ed9 | ||
|
|
e6fd618900 | ||
|
|
9a48e442d5 | ||
|
|
9e3afe73c6 | ||
|
|
d90da6571e | ||
|
|
19e1014f07 | ||
|
|
cd5806ed22 | ||
|
|
0c63e96d0f | ||
|
|
2271df172c | ||
|
|
5995079e17 | ||
|
|
49e6412c3c | ||
|
|
3316e88d38 | ||
|
|
5501c9c587 | ||
|
|
1d0bb67227 | ||
|
|
2dd5e93a7c | ||
|
|
31f19303ec | ||
|
|
eaa1df636d | ||
|
|
2c07a1922c | ||
|
|
0d4fc5d94a | ||
|
|
b641a87455 | ||
|
|
773be3cfd1 | ||
|
|
2b7a89b27f | ||
|
|
ba1607686f | ||
|
|
6375586ff9 | ||
|
|
17da3c7a5c | ||
|
|
9f836ff356 | ||
|
|
35355f6cb7 | ||
|
|
60be68b217 | ||
|
|
4fe8953a48 | ||
|
|
7845f278f8 | ||
|
|
03944dc208 | ||
|
|
3b6caf1a52 | ||
|
|
7ede6e3cb0 | ||
|
|
1a3ae449d6 | ||
|
|
78a384d760 | ||
|
|
26828f5c93 | ||
|
|
594bf061e1 | ||
|
|
aa32942c92 | ||
|
|
4a3108a5e0 | ||
|
|
82f5afa278 | ||
|
|
cd95802912 | ||
|
|
0fed74e069 | ||
|
|
8773e26219 | ||
|
|
45cce72af5 | ||
|
|
4a43710d50 | ||
|
|
8c12a230a8 | ||
|
|
50fed1ba2a | ||
|
|
63ba5dc9e8 | ||
|
|
b75d24b4ca | ||
|
|
9488a12dc2 | ||
|
|
701b3a126e | ||
|
|
e3335ef803 | ||
|
|
f16a6248cb | ||
|
|
9c0cd15115 | ||
|
|
524b84fc38 | ||
|
|
3bd59a4c4d | ||
|
|
96f07606f5 | ||
|
|
ea96af51b8 | ||
|
|
0669bcb2d1 | ||
|
|
67a42c4a21 | ||
|
|
de98588235 | ||
|
|
dffb239ea7 | ||
|
|
6a6c1f1455 | ||
|
|
bd3b2647b4 | ||
|
|
cebc42126a | ||
|
|
2985b2f31c | ||
|
|
335f5b38a5 | ||
|
|
4dd9daa95c | ||
|
|
10db075ece | ||
|
|
a800eae020 | ||
|
|
eb21fb2020 | ||
|
|
600e6a9404 | ||
|
|
4b0fbcbf10 | ||
|
|
215aec34b9 | ||
|
|
9cba686a3c | ||
|
|
43a7eb8b32 | ||
|
|
08eb867ae7 | ||
|
|
5c59c34a6c | ||
|
|
ae2dae8a97 | ||
|
|
c06969ba8f | ||
|
|
496d55f88b | ||
|
|
2b16372ec4 | ||
|
|
041aa40a6d | ||
|
|
55c1dd7e16 | ||
|
|
2ec2f669fb | ||
|
|
17ea6157a6 | ||
|
|
d5bdf180a8 | ||
|
|
a7d5ac5de9 | ||
|
|
b103623099 | ||
|
|
751f4d0331 | ||
|
|
1f536d8d84 | ||
|
|
c900121644 | ||
|
|
9ce038fe19 | ||
|
|
1f66038ab9 | ||
|
|
04d2eb53a2 | ||
|
|
f55a3c0824 | ||
|
|
8f0e4431e6 | ||
|
|
bff2676b64 | ||
|
|
e9e5fe1cc9 | ||
|
|
e6a78fc8f7 | ||
|
|
0e3efcf547 | ||
|
|
5c5b4f297c | ||
|
|
6f1c2ce7c1 | ||
|
|
e26feb7025 | ||
|
|
fef0042870 | ||
|
|
5a1a303ce7 | ||
|
|
5849dc0ce9 | ||
|
|
31ca13692b | ||
|
|
49cfbc6235 | ||
|
|
b577e5ed90 | ||
|
|
3c9dca0c62 | ||
|
|
818b87fe87 | ||
|
|
e177207799 | ||
|
|
df4cf40a5b | ||
|
|
23082d59ba | ||
|
|
708170b1ef | ||
|
|
3a0131a577 | ||
|
|
d1f4da5473 | ||
|
|
91967638af | ||
|
|
d9a972f6a9 | ||
|
|
ce4c9bb48c | ||
|
|
26c74fa1df | ||
|
|
4ae3fb4e3d | ||
|
|
20e7dd96a1 | ||
|
|
d36cd409a4 | ||
|
|
082eceed9a | ||
|
|
46c91d1956 | ||
|
|
edfb829988 | ||
|
|
83cb28e99c | ||
|
|
957916bfdf | ||
|
|
2f98606a7d | ||
|
|
c791421c3e | ||
|
|
fa79a72247 | ||
|
|
831f7b8989 | ||
|
|
77800475cb | ||
|
|
96553a162c | ||
|
|
d1e987f4da | ||
|
|
a1fb740c27 | ||
|
|
cff47002e1 | ||
|
|
c34ba9c620 | ||
|
|
3da2d042c8 | ||
|
|
b93499c20d | ||
|
|
feb7f1915e | ||
|
|
bd7f494830 | ||
|
|
1fc5095a65 | ||
|
|
920ed5e176 | ||
|
|
fce9cddd02 | ||
|
|
3332bd4b36 | ||
|
|
56289abc36 | ||
|
|
9be02a102d | ||
|
|
e1e94e1118 | ||
|
|
2ffd08e754 | ||
|
|
0378b65763 | ||
|
|
5dd3760e90 | ||
|
|
e7eb7fab8a | ||
|
|
ce128adc4f | ||
|
|
a794f8ed5f | ||
|
|
9d30f2f83e | ||
|
|
b93f1a385b | ||
|
|
6bb4ba4119 | ||
|
|
178cb04002 | ||
|
|
2d41cd62a8 | ||
|
|
f9e4e89c15 | ||
|
|
02717c47be | ||
|
|
cc010053b2 | ||
|
|
9bcc0fccd7 | ||
|
|
d8df9b03bf | ||
|
|
abfa2388e4 | ||
|
|
670f91efa8 | ||
|
|
70d442c409 | ||
|
|
5f018fa7b5 | ||
|
|
94f0b900de | ||
|
|
e17ff8fc94 | ||
|
|
bd4ee506ac | ||
|
|
8c5b224dc2 | ||
|
|
f111b5449e | ||
|
|
47f86d222f | ||
|
|
f9b7073dd7 | ||
|
|
a6c11f2ce3 | ||
|
|
46fad77bac | ||
|
|
22a96fcce0 | ||
|
|
6df0dc8e9e | ||
|
|
ee7c0c6dab | ||
|
|
6e086da024 | ||
|
|
292d2a8ebc | ||
|
|
52e78a8665 | ||
|
|
a97bfc2a58 | ||
|
|
15001d987a | ||
|
|
ecbeee82d8 | ||
|
|
e6c59283c1 | ||
|
|
495b695589 | ||
|
|
6ac7d7cc4d | ||
|
|
0c328b1fda | ||
|
|
bd8a670424 | ||
|
|
5f1139f132 | ||
|
|
188b01c158 | ||
|
|
8307fabe15 | ||
|
|
cead02eed2 | ||
|
|
fabf63655b | ||
|
|
da2f887c68 | ||
|
|
26dbd77b05 | ||
|
|
63382b748f | ||
|
|
1e2a5b0479 | ||
|
|
341e747f7e | ||
|
|
348f5a8ea1 | ||
|
|
c0b6c444b4 | ||
|
|
f8d07bad1b | ||
|
|
a138ebe0e7 | ||
|
|
2260b01480 | ||
|
|
9761f10398 | ||
|
|
984cb2f53e | ||
|
|
7c80a02cef | ||
|
|
f545d48179 | ||
|
|
07df99aaae | ||
|
|
6f60e1af1f | ||
|
|
e0080ca879 | ||
|
|
eaf2483558 | ||
|
|
8cac276925 | ||
|
|
499c83e3b0 | ||
|
|
ba0764aa85 | ||
|
|
53c1ee4c71 | ||
|
|
fe1891a2a9 | ||
|
|
0ffb9f11d4 | ||
|
|
307cc81f18 | ||
|
|
2384649e09 | ||
|
|
4952675749 | ||
|
|
e2596ed9cb | ||
|
|
190786a15a | ||
|
|
9bcf3f36f8 | ||
|
|
26e1ae4d7b | ||
|
|
98af882970 | ||
|
|
5835e71947 | ||
|
|
f46580bd1b | ||
|
|
a282da6fd7 | ||
|
|
1420d17413 | ||
|
|
b7b6270565 | ||
|
|
49eb45749a | ||
|
|
ec709f37e8 | ||
|
|
615c58ac3c | ||
|
|
20d698febd | ||
|
|
3bb6bf3228 | ||
|
|
9674f034dd | ||
|
|
f11ed679d9 | ||
|
|
2bb5087a63 | ||
|
|
e4aa5f0283 | ||
|
|
18b664a123 | ||
|
|
1d03eb064a | ||
|
|
0ad058ec4a | ||
|
|
18b54886ed | ||
|
|
f79a91fb78 | ||
|
|
584755ea93 | ||
|
|
3652e4d0ff | ||
|
|
0069234563 | ||
|
|
d92a1880ee | ||
|
|
dd72e2b573 | ||
|
|
10714d1002 | ||
|
|
daad1bca53 | ||
|
|
c82ec8a005 | ||
|
|
9fbea0a3d3 | ||
|
|
ed06247206 | ||
|
|
1e7bd816f2 | ||
|
|
592c4aa07a | ||
|
|
59f3aa9af4 | ||
|
|
8df825e250 | ||
|
|
a985cc5bbb | ||
|
|
bd7985e817 | ||
|
|
8706f9f03c | ||
|
|
5c6a587745 | ||
|
|
de4905f84f | ||
|
|
121a9224e9 | ||
|
|
af9626e385 | ||
|
|
6b3db926fc | ||
|
|
8f8be7a13e | ||
|
|
12450dbba4 | ||
|
|
4f6de3c6a3 | ||
|
|
d89420e0f1 | ||
|
|
ddc13e0dec | ||
|
|
61a3d782e8 | ||
|
|
b1c8aa97c8 | ||
|
|
3a50ee1784 | ||
|
|
a69ce3592f | ||
|
|
b49ae96dfe | ||
|
|
4c989c9d75 | ||
|
|
2282e56aad | ||
|
|
982f2e8e32 | ||
|
|
e90f19e3e2 | ||
|
|
6d6a9c68f2 | ||
|
|
8138e44cdd | ||
|
|
ef788798b7 | ||
|
|
07d81e6072 | ||
|
|
708e3aa40f | ||
|
|
3075e22e1e | ||
|
|
b15109d13e | ||
|
|
c491087a29 | ||
|
|
cf08ae0789 | ||
|
|
624f15be65 | ||
|
|
4789d0d782 | ||
|
|
f8fd8a9695 | ||
|
|
91cfb8d38c | ||
|
|
130d9b73fb | ||
|
|
604d24ebbe | ||
|
|
8c3a74a991 | ||
|
|
ed143a7bba | ||
|
|
ac5f1ec1b5 | ||
|
|
403db3057c | ||
|
|
4dac7b8e9d | ||
|
|
a856f87146 | ||
|
|
d733101a26 | ||
|
|
89741a5e8a | ||
|
|
f00026b53a | ||
|
|
5004358fe2 | ||
|
|
97f6565024 | ||
|
|
f1a69ebad3 | ||
|
|
bf6c3e636e | ||
|
|
a4e98a9fb1 | ||
|
|
8b717f856a | ||
|
|
4d8f093a4b | ||
|
|
c699c82bbe | ||
|
|
5634d75672 | ||
|
|
cf33b0cc52 | ||
|
|
ddbaeb623b | ||
|
|
3efb2e0db9 | ||
|
|
8159aec53b | ||
|
|
564efb2f32 | ||
|
|
4dfcd6a5f9 | ||
|
|
0aa4d873d0 | ||
|
|
911c01b6b2 | ||
|
|
3a5e5fa227 | ||
|
|
bf5786aca6 | ||
|
|
ed065d00dc | ||
|
|
6aa899d989 | ||
|
|
417d156300 | ||
|
|
2471edd82f | ||
|
|
196eda7463 | ||
|
|
1d63376c99 | ||
|
|
846b05b89e | ||
|
|
0f3b660824 | ||
|
|
14565cf8fa | ||
|
|
3d5c0d5ade | ||
|
|
14e0adaca8 | ||
|
|
4365d3b4cb | ||
|
|
62ca72e684 | ||
|
|
71c0c10f29 | ||
|
|
8733ef34d3 | ||
|
|
ff0a12d104 | ||
|
|
fe628319b7 | ||
|
|
86c11beee6 | ||
|
|
e45a72f6c6 | ||
|
|
88af725a08 | ||
|
|
d3fee87802 | ||
|
|
ea61e428da | ||
|
|
7d5bd42f53 | ||
|
|
78c689eb08 | ||
|
|
69c2f6ff6e | ||
|
|
b59db1432a | ||
|
|
4f85cd32aa | ||
|
|
f0d6d25e93 | ||
|
|
2d6d4093e9 | ||
|
|
8fc167fd57 | ||
|
|
475110af09 | ||
|
|
3fc4621dc9 | ||
|
|
43ddf6585c | ||
|
|
61d155d936 | ||
|
|
d133162579 | ||
|
|
fff4612a8d | ||
|
|
d6f410c6e6 | ||
|
|
ab11965d50 | ||
|
|
6071f41c33 | ||
|
|
e220ad73b3 | ||
|
|
f7b9efc3cb | ||
|
|
e19f815498 | ||
|
|
cf95bb1faa | ||
|
|
c9b7e4b2af | ||
|
|
1827450f4b | ||
|
|
a990770ce1 | ||
|
|
8bf20a9ed1 | ||
|
|
48674dcf90 | ||
|
|
4be50d68da | ||
|
|
0c6d31950e | ||
|
|
80e8c8fcc2 | ||
|
|
0c7621b798 | ||
|
|
3efe8fb67e | ||
|
|
5c613af9f2 | ||
|
|
e33c13bd19 | ||
|
|
d764a20dc7 | ||
|
|
39a61b5118 | ||
|
|
f93594c4ae | ||
|
|
3700e4469d | ||
|
|
60a154851f | ||
|
|
8c621fe6d5 | ||
|
|
d01fe2e4b0 | ||
|
|
08382a6ec5 | ||
|
|
6746916425 | ||
|
|
934ed919e4 | ||
|
|
53b0dc343c | ||
|
|
c04f26ae00 | ||
|
|
3b5587d2e1 | ||
|
|
cc48e04530 | ||
|
|
29f0de9cba | ||
|
|
f9a7bd0fe0 | ||
|
|
1c25824bcf | ||
|
|
0fec4c9620 | ||
|
|
2206411bea | ||
|
|
62efe79b7a | ||
|
|
327cf0e9dd | ||
|
|
fa3d9d1f81 | ||
|
|
cb0996eca9 | ||
|
|
3a5dbbf2ea | ||
|
|
1062aba6a4 | ||
|
|
849faa5029 | ||
|
|
f242e74d07 | ||
|
|
98a0c21355 | ||
|
|
7e2206d20c | ||
|
|
5f05672a3f | ||
|
|
ea812ae645 | ||
|
|
83eed09f48 | ||
|
|
d834264ef2 | ||
|
|
df0ff6c284 | ||
|
|
bab796bae1 | ||
|
|
2097a42973 | ||
|
|
458527ce2b | ||
|
|
c93f2277cf | ||
|
|
013bedcf9a | ||
|
|
39731fc2e8 | ||
|
|
2c1877a321 | ||
|
|
31ebbc3d18 | ||
|
|
1447b10992 | ||
|
|
ffaf3b4ab8 | ||
|
|
7ca0dc4a85 | ||
|
|
7d3c54ef4c | ||
|
|
dd55a9ae4b | ||
|
|
4fff5ddb0a | ||
|
|
c657b79422 | ||
|
|
b3a8a9abef | ||
|
|
6995637aec | ||
|
|
0cb0ff12a5 | ||
|
|
f582882828 | ||
|
|
4b6736c255 | ||
|
|
246fbc9437 | ||
|
|
e135d58c46 | ||
|
|
9bf4396902 | ||
|
|
60e88c0b45 | ||
|
|
8ec72ec94d | ||
|
|
b808efb502 | ||
|
|
92f9333800 | ||
|
|
3c4a6c5e95 | ||
|
|
b22fffe81a | ||
|
|
dcecfbaeda | ||
|
|
2a6d02b1cb | ||
|
|
048f68e2ff | ||
|
|
ac66642623 | ||
|
|
8d9999c6c7 | ||
|
|
977e7cc8c4 | ||
|
|
662d5fb414 | ||
|
|
3e0dc9ee7d | ||
|
|
9cef990edf | ||
|
|
f288f1fbf4 | ||
|
|
5561101093 | ||
|
|
a27906b1b7 | ||
|
|
659a408225 | ||
|
|
3d4fab99b6 | ||
|
|
7c5f5a9b24 | ||
|
|
e9ae5c9dc8 | ||
|
|
33311611ab | ||
|
|
d50ec93e94 | ||
|
|
fbdfdd2f03 | ||
|
|
cbe05b1a7c | ||
|
|
f32f70f145 | ||
|
|
409febb48f | ||
|
|
df132ee196 | ||
|
|
63b93cab0b | ||
|
|
9b1170d364 | ||
|
|
0dba6d7a42 | ||
|
|
d82deb9860 | ||
|
|
3307a95955 | ||
|
|
392b437913 | ||
|
|
8312d8700e | ||
|
|
f8110ef661 | ||
|
|
4da8f599ab | ||
|
|
0aa1e81665 | ||
|
|
ffe07b42b5 | ||
|
|
d7dd4db144 | ||
|
|
c81cb85112 | ||
|
|
e24f7679a6 | ||
|
|
b4b3034e92 | ||
|
|
9c452a2172 | ||
|
|
86bc0f4e5d | ||
|
|
8f59ff5e3d | ||
|
|
a8db22b22b | ||
|
|
bffd68ead4 | ||
|
|
46c0f89632 | ||
|
|
08c28ed0d0 | ||
|
|
f24f2dcec3 | ||
|
|
f7b2a5b893 | ||
|
|
da34a5af56 | ||
|
|
fa9d73e629 | ||
|
|
e1b6e3057d | ||
|
|
5bb3b67979 | ||
|
|
4046982698 | ||
|
|
4f80d1ced6 | ||
|
|
22799caedc | ||
|
|
107b09c6dc | ||
|
|
4f2fdc55ee | ||
|
|
16674b773d | ||
|
|
1e8bbba24e | ||
|
|
b5451cfc21 | ||
|
|
6507dee307 | ||
|
|
930b885ac0 | ||
|
|
22377a4ba9 | ||
|
|
85cd10132e | ||
|
|
643e29e25a | ||
|
|
70c41b311c | ||
|
|
85880c16c1 | ||
|
|
3ff0335985 | ||
|
|
3bafaaada0 | ||
|
|
584c641b18 | ||
|
|
ca1875d57a | ||
|
|
03c45994dc | ||
|
|
f0cbec6ea1 | ||
|
|
72fe01bb34 | ||
|
|
50ae8ae843 | ||
|
|
14e3d41def | ||
|
|
200a2a9eb9 | ||
|
|
769c490d21 | ||
|
|
0da5002804 | ||
|
|
5bf579fec5 | ||
|
|
1038d4479c | ||
|
|
78d663c62c | ||
|
|
2f96adb204 | ||
|
|
e6f9be1bfd | ||
|
|
297cec6e77 | ||
|
|
5aca01b21e | ||
|
|
3df2193afb | ||
|
|
ed513e4469 | ||
|
|
c398537a1f | ||
|
|
42641f5627 | ||
|
|
7b10532650 | ||
|
|
eb4d4c3d70 | ||
|
|
43c93d6a70 | ||
|
|
bd26dfb774 | ||
|
|
c4aa38c82b | ||
|
|
c0597e01b6 | ||
|
|
8a6c4e1cee | ||
|
|
0a77176bcc | ||
|
|
35fc78d757 | ||
|
|
407206309a | ||
|
|
51bc8143dd | ||
|
|
98bac7171a | ||
|
|
839ef140ff | ||
|
|
c3e97caf49 | ||
|
|
96319f4dbb | ||
|
|
cbccd5b641 | ||
|
|
4742c33466 | ||
|
|
81681eb7c4 | ||
|
|
7c80a32fc2 | ||
|
|
9cb2904632 | ||
|
|
40859a06d0 | ||
|
|
b00ac96e99 | ||
|
|
c7c14a9211 | ||
|
|
78cbfc8813 | ||
|
|
569519aeea | ||
|
|
3cfd7e01ca | ||
|
|
93b6c360d6 | ||
|
|
15ba1b8c38 | ||
|
|
2f35889a61 | ||
|
|
e0e86962d1 | ||
|
|
cdde8afc7e | ||
|
|
0af87ecdac | ||
|
|
4b3d18347c | ||
|
|
8c2ee50c93 | ||
|
|
6d66831770 | ||
|
|
e0795dd16b | ||
|
|
b0733d9254 | ||
|
|
0d757ef06d | ||
|
|
d19aaf804a | ||
|
|
41adef4786 | ||
|
|
9ee3ae7359 | ||
|
|
bd0f97c5d9 | ||
|
|
f85644bd2b | ||
|
|
62f1263951 | ||
|
|
1fcd0f2b97 | ||
|
|
73baf548a4 | ||
|
|
6357a22e38 | ||
|
|
3a08ee8d7c | ||
|
|
af67684e91 | ||
|
|
a877904b46 | ||
|
|
f090b4a44e | ||
|
|
b3f5a2dfa2 | ||
|
|
6029660860 | ||
|
|
b304ce22b9 | ||
|
|
b7910d9f79 | ||
|
|
505b3a9e4a | ||
|
|
42a346b19e | ||
|
|
7c42f87751 | ||
|
|
a323bd85ab | ||
|
|
6e4b5226f5 | ||
|
|
acaa8bc523 | ||
|
|
ef31935b24 | ||
|
|
a9c104d388 | ||
|
|
bc9d6be0d6 | ||
|
|
d37e06d399 | ||
|
|
d49832ae0f | ||
|
|
f318d09b9b | ||
|
|
5cd77bb5cc | ||
|
|
6b4d18c9c5 | ||
|
|
5830220a3d | ||
|
|
dfe4bebe58 | ||
|
|
cff2c9af0b | ||
|
|
e16a50f1f2 | ||
|
|
254e6a8633 | ||
|
|
ccb413b2e6 | ||
|
|
e2ea79b758 | ||
|
|
c1043efc53 | ||
|
|
6c6c93b378 | ||
|
|
f9a8665290 | ||
|
|
54d7dfe4f8 | ||
|
|
eeb53cb483 | ||
|
|
b9625f2748 | ||
|
|
8d41c228e0 | ||
|
|
0146a40244 | ||
|
|
98534c9b43 | ||
|
|
67aa2b5af8 | ||
|
|
a451125475 | ||
|
|
fb3ffba343 | ||
|
|
86ded739d6 | ||
|
|
80e8d54b57 | ||
|
|
f0f05fa1fd | ||
|
|
b7a4027b41 | ||
|
|
5f3958ce2b | ||
|
|
dcf4fa5a48 | ||
|
|
6ace1fdd63 | ||
|
|
243e307f0a | ||
|
|
8e53a94a13 | ||
|
|
4f337a7100 | ||
|
|
b1a9bfe68d | ||
|
|
c9fc3e788a | ||
|
|
64e6216fc0 | ||
|
|
dfa3b8d270 | ||
|
|
355ad69721 | ||
|
|
a706d447f6 | ||
|
|
834952ca33 | ||
|
|
f8ba867440 | ||
|
|
19b317d271 | ||
|
|
ecbb24a038 | ||
|
|
1151d314f9 | ||
|
|
ac43eed1c4 | ||
|
|
d554637497 | ||
|
|
25c1da63a7 | ||
|
|
ded3f3ce54 | ||
|
|
39501133c7 | ||
|
|
41673c5c7e | ||
|
|
b3d2993017 | ||
|
|
27f72aeef1 | ||
|
|
e97bba573a | ||
|
|
8a6a5a55db | ||
|
|
f2b45a0a8d | ||
|
|
91df051c38 | ||
|
|
46871f00c0 | ||
|
|
7bd2c7ea43 | ||
|
|
e909676c2d | ||
|
|
0ed7166059 | ||
|
|
7cdb95f7a4 | ||
|
|
aeea6e8177 | ||
|
|
e67f6b54cb | ||
|
|
ac6c71252d | ||
|
|
12a962d75d | ||
|
|
fab464feb5 | ||
|
|
3fbd956f1c | ||
|
|
ed4a4a43a1 | ||
|
|
702e6ccb0a | ||
|
|
c533511166 | ||
|
|
0039a6aeef | ||
|
|
aefd29c459 | ||
|
|
90ba7b6c08 | ||
|
|
c67f079f30 | ||
|
|
fce0801f3b | ||
|
|
f70285c017 | ||
|
|
7b4e342f04 | ||
|
|
150c2c75d6 | ||
|
|
5c065a3857 | ||
|
|
e0a517f42f | ||
|
|
966f9107fb | ||
|
|
badbb174cd | ||
|
|
03a942b57e | ||
|
|
4086098f58 | ||
|
|
a9dd06de64 | ||
|
|
46cbc26d92 | ||
|
|
73f7c9f33e | ||
|
|
ef6de6ad2a | ||
|
|
93ad46a685 | ||
|
|
4d686b6115 | ||
|
|
3b5cfe958d | ||
|
|
132df330a4 | ||
|
|
217074c640 | ||
|
|
6e312111ac | ||
|
|
99296ebb1c | ||
|
|
f0eadd4628 | ||
|
|
d4b0b484aa | ||
|
|
6f70b54cd4 | ||
|
|
3c1b61dc82 | ||
|
|
5240fcc8e7 | ||
|
|
65d25917b1 | ||
|
|
378d81bafe | ||
|
|
5f29e98955 | ||
|
|
5cb5b8cdaf | ||
|
|
8e19dcb677 | ||
|
|
e825612396 | ||
|
|
117ffd0f62 | ||
|
|
5291206cb3 | ||
|
|
2747387847 | ||
|
|
bd1a11a15a | ||
|
|
c2262c0f89 | ||
|
|
88aaf94441 | ||
|
|
20b99810cb | ||
|
|
7b327a4481 | ||
|
|
890032a81b | ||
|
|
18384bbddc | ||
|
|
c1900e75ec | ||
|
|
ab2dd4d685 | ||
|
|
f9f96bd807 | ||
|
|
df616b486d | ||
|
|
d8b2836819 | ||
|
|
4ef7f5b4cb | ||
|
|
7dfe830dac | ||
|
|
6f40dadfcb | ||
|
|
86c960e01b | ||
|
|
f80db2c770 | ||
|
|
d9cba16218 | ||
|
|
a004924a42 | ||
|
|
ef442da885 | ||
|
|
eab2ef695d | ||
|
|
0291920a55 | ||
|
|
633c841d7f | ||
|
|
f2f4df5693 | ||
|
|
4592d729d3 | ||
|
|
8cedcb7b5d | ||
|
|
37d133bd7c | ||
|
|
3f87730375 | ||
|
|
d99c3a8301 | ||
|
|
fbc792cb1d | ||
|
|
5498bb9398 | ||
|
|
25f842df9d | ||
|
|
987ee1c000 | ||
|
|
afe760f58d | ||
|
|
b07f0a09fa | ||
|
|
2b26791dc0 | ||
|
|
8db6939b30 | ||
|
|
29bcb810b4 | ||
|
|
62837e0ecc | ||
|
|
e1fb6d27a5 | ||
|
|
b49ab894ac | ||
|
|
1166a51e4a | ||
|
|
0e26838eb3 | ||
|
|
c0585156e8 | ||
|
|
a358632f41 | ||
|
|
55a3677a37 | ||
|
|
1e89039b02 | ||
|
|
2c0fdb7773 | ||
|
|
2aedbc7a24 | ||
|
|
ea22d910ad | ||
|
|
90cec227c5 | ||
|
|
d1f6cb11ee | ||
|
|
836ebbeebf | ||
|
|
c13b35ca1e | ||
|
|
bab99b0006 | ||
|
|
cc8c87387a | ||
|
|
0bc19a3eaa | ||
|
|
716ee5ccf3 | ||
|
|
8c03980dc9 | ||
|
|
7d5056ac62 | ||
|
|
d2cb5173be | ||
|
|
80d5117345 | ||
|
|
a516ee443d | ||
|
|
977208e883 | ||
|
|
fc53159a51 | ||
|
|
8b29a89efa | ||
|
|
584bd155d6 | ||
|
|
c81bd65bd5 | ||
|
|
a4b44565ea | ||
|
|
ca13de2e43 | ||
|
|
9dbcab6b4e | ||
|
|
76df61092d | ||
|
|
39039b4710 | ||
|
|
acb3ba7589 | ||
|
|
a97ab6dbc8 | ||
|
|
6be0222f31 | ||
|
|
1a99771762 | ||
|
|
283814afa6 | ||
|
|
3d81a889a8 | ||
|
|
a52724fe09 | ||
|
|
66839b4836 | ||
|
|
526baf41ea | ||
|
|
a90bb19f72 | ||
|
|
3de3cb0f29 | ||
|
|
b607561b14 | ||
|
|
3045151789 | ||
|
|
e7a4537098 | ||
|
|
3b6f3488ea | ||
|
|
19dad2a257 | ||
|
|
d100b804c3 | ||
|
|
b9aa3ab710 | ||
|
|
c7c25c988f | ||
|
|
460e586d67 |
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -7,7 +7,7 @@ about: Create a report to help us improve
|
|||||||
|
|
||||||
## NOTE
|
## NOTE
|
||||||
Bug reports without clear information or scenario to reproduce and logs from ``%AppData%\GHelper`` will be closed without answer.
|
Bug reports without clear information or scenario to reproduce and logs from ``%AppData%\GHelper`` will be closed without answer.
|
||||||
Please respect time of the developer. Thanks.
|
Please respect the time of the developer. Thanks.
|
||||||
|
|
||||||
|
|
||||||
**Describe the bug**
|
**Describe the bug**
|
||||||
@@ -34,7 +34,7 @@ If applicable, add screenshots to help explain your problem.
|
|||||||
- Laptop model
|
- Laptop model
|
||||||
|
|
||||||
**Asus software**
|
**Asus software**
|
||||||
- Armoury crate (or it's services installed)
|
- Armoury Crate (or it's services installed)
|
||||||
- MyASUS installed
|
- MyASUS installed
|
||||||
- Other Asus services running in background
|
- Other Asus services running in background
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/release.yml
vendored
@@ -3,6 +3,8 @@ name: Release
|
|||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [ published ]
|
types: [ published ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -20,7 +22,7 @@ jobs:
|
|||||||
- name: Publish
|
- name: Publish
|
||||||
run: |
|
run: |
|
||||||
dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained
|
dotnet publish app/GHelper.sln --configuration Release --runtime win-x64 -p:PublishSingleFile=true --no-self-contained
|
||||||
powershell Compress-Archive app/bin/x64/Release/net7.0-windows8.0/win-x64/publish/* GHelper.zip
|
powershell Compress-Archive app/bin/x64/Release/net7.0-windows/win-x64/publish/* GHelper.zip
|
||||||
- name: Upload
|
- name: Upload
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ github.token }}
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
|||||||
@@ -2,7 +2,9 @@
|
|||||||
using NAudio.Wave;
|
using NAudio.Wave;
|
||||||
using Starlight.AnimeMatrix;
|
using Starlight.AnimeMatrix;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
|
using System.IO;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
|
||||||
namespace GHelper.AnimeMatrix
|
namespace GHelper.AnimeMatrix
|
||||||
@@ -14,12 +16,12 @@ namespace GHelper.AnimeMatrix
|
|||||||
SettingsForm settings;
|
SettingsForm settings;
|
||||||
|
|
||||||
System.Timers.Timer matrixTimer = default!;
|
System.Timers.Timer matrixTimer = default!;
|
||||||
AnimeMatrixDevice? mat;
|
public AnimeMatrixDevice? device;
|
||||||
|
|
||||||
double[]? AudioValues;
|
double[]? AudioValues;
|
||||||
WasapiCapture? AudioDevice;
|
WasapiCapture? AudioDevice;
|
||||||
|
|
||||||
public bool IsValid => mat != null;
|
public bool IsValid => device != null;
|
||||||
|
|
||||||
private long lastPresent;
|
private long lastPresent;
|
||||||
private List<double> maxes = new List<double>();
|
private List<double> maxes = new List<double>();
|
||||||
@@ -30,19 +32,19 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
mat = new AnimeMatrixDevice();
|
device = new AnimeMatrixDevice();
|
||||||
Task.Run(mat.WakeUp);
|
Task.Run(device.WakeUp);
|
||||||
matrixTimer = new System.Timers.Timer(100);
|
matrixTimer = new System.Timers.Timer(100);
|
||||||
matrixTimer.Elapsed += MatrixTimer_Elapsed;
|
matrixTimer.Elapsed += MatrixTimer_Elapsed;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
mat = null;
|
device = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetMatrix()
|
public void SetMatrix(bool wakeUp = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!IsValid) return;
|
if (!IsValid) return;
|
||||||
@@ -65,17 +67,28 @@ namespace GHelper.AnimeMatrix
|
|||||||
StopMatrixTimer();
|
StopMatrixTimer();
|
||||||
StopMatrixAudio();
|
StopMatrixAudio();
|
||||||
|
|
||||||
mat.SetProvider();
|
try
|
||||||
|
{
|
||||||
|
device.SetProvider();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.Message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wakeUp && AppConfig.ContainsModel("401")) device.WakeUp();
|
||||||
|
|
||||||
if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online))
|
if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online))
|
||||||
{
|
{
|
||||||
mat.SetDisplayState(false);
|
device.SetDisplayState(false);
|
||||||
|
device.SetDisplayState(false); // some devices are dumb
|
||||||
Logger.WriteLine("Matrix Off");
|
Logger.WriteLine("Matrix Off");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mat.SetDisplayState(true);
|
device.SetDisplayState(true);
|
||||||
mat.SetBrightness((BrightnessMode)brightness);
|
device.SetBrightness((BrightnessMode)brightness);
|
||||||
|
|
||||||
switch (running)
|
switch (running)
|
||||||
{
|
{
|
||||||
@@ -89,7 +102,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
SetMatrixAudio();
|
SetMatrixAudio();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mat.SetBuiltInAnimation(true, animation);
|
device.SetBuiltInAnimation(true, animation);
|
||||||
Logger.WriteLine("Matrix builtin " + animation.AsByte);
|
Logger.WriteLine("Matrix builtin " + animation.AsByte);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -118,10 +131,10 @@ namespace GHelper.AnimeMatrix
|
|||||||
switch (AppConfig.Get("matrix_running"))
|
switch (AppConfig.Get("matrix_running"))
|
||||||
{
|
{
|
||||||
case 2:
|
case 2:
|
||||||
mat.PresentNextFrame();
|
device.PresentNextFrame();
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
mat.PresentClock();
|
device.PresentClock();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,7 +143,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
public void SetMatrixClock()
|
public void SetMatrixClock()
|
||||||
{
|
{
|
||||||
mat.SetBuiltInAnimation(false);
|
device.SetBuiltInAnimation(false);
|
||||||
StartMatrixTimer(1000);
|
StartMatrixTimer(1000);
|
||||||
Logger.WriteLine("Matrix Clock");
|
Logger.WriteLine("Matrix Clock");
|
||||||
}
|
}
|
||||||
@@ -160,7 +173,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
{
|
{
|
||||||
if (!IsValid) return;
|
if (!IsValid) return;
|
||||||
|
|
||||||
mat.SetBuiltInAnimation(false);
|
device.SetBuiltInAnimation(false);
|
||||||
StopMatrixTimer();
|
StopMatrixTimer();
|
||||||
StopMatrixAudio();
|
StopMatrixAudio();
|
||||||
|
|
||||||
@@ -229,8 +242,8 @@ namespace GHelper.AnimeMatrix
|
|||||||
for (int x = 0; x < 2 - (y % 2); x++)
|
for (int x = 0; x < 2 - (y % 2); x++)
|
||||||
{
|
{
|
||||||
//color = (byte)(Math.Min(1,(h - y - 2)*2) * 255);
|
//color = (byte)(Math.Min(1,(h - y - 2)*2) * 255);
|
||||||
mat.SetLedPlanar(x + dx, dy + y, (byte)(h * 255 / 30));
|
device.SetLedPlanar(x + dx, dy + y, (byte)(h * 255 / 30));
|
||||||
mat.SetLedPlanar(x + dx, dy - y, 255);
|
device.SetLedPlanar(x + dx, dy - y, 255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,7 +253,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastPresent) < 70) return;
|
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastPresent) < 70) return;
|
||||||
lastPresent = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
lastPresent = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
|
|
||||||
mat.Clear();
|
device.Clear();
|
||||||
|
|
||||||
int size = 20;
|
int size = 20;
|
||||||
double[] bars = new double[size];
|
double[] bars = new double[size];
|
||||||
@@ -258,7 +271,7 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
for (int i = 0; i < size; i++) DrawBar(20 - i, bars[i] * 20 / maxAverage);
|
for (int i = 0; i < size; i++) DrawBar(20 - i, bars[i] * 20 / maxAverage);
|
||||||
|
|
||||||
mat.Present();
|
device.Present();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -293,22 +306,30 @@ namespace GHelper.AnimeMatrix
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetMatrixPicture(string fileName)
|
public void SetMatrixPicture(string fileName, bool visualise = true)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!IsValid) return;
|
if (!IsValid) return;
|
||||||
StopMatrixTimer();
|
StopMatrixTimer();
|
||||||
|
|
||||||
Image image;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var fs = new FileStream(fileName, FileMode.Open))
|
using (var fs = new FileStream(fileName, FileMode.Open))
|
||||||
|
//using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
var ms = new MemoryStream();
|
/*
|
||||||
|
ms.SetLength(0);
|
||||||
fs.CopyTo(ms);
|
fs.CopyTo(ms);
|
||||||
ms.Position = 0;
|
ms.Position = 0;
|
||||||
image = Image.FromStream(ms);
|
*/
|
||||||
|
using (Image image = Image.FromStream(fs))
|
||||||
|
{
|
||||||
|
ProcessPicture(image);
|
||||||
|
Logger.WriteLine("Matrix " + fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.Close();
|
||||||
|
if (visualise) settings.VisualiseMatrix(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
@@ -317,30 +338,60 @@ namespace GHelper.AnimeMatrix
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mat.SetBuiltInAnimation(false);
|
}
|
||||||
mat.ClearFrames();
|
|
||||||
|
protected void ProcessPicture(Image image)
|
||||||
|
{
|
||||||
|
device.SetBuiltInAnimation(false);
|
||||||
|
device.ClearFrames();
|
||||||
|
|
||||||
|
int matrixX = AppConfig.Get("matrix_x", 0);
|
||||||
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
int matrixSpeed = AppConfig.Get("matrix_speed", 50);
|
||||||
|
|
||||||
|
MatrixRotation rotation = (MatrixRotation)AppConfig.Get("matrix_rotation", 0);
|
||||||
|
|
||||||
|
InterpolationMode matrixQuality = (InterpolationMode)AppConfig.Get("matrix_quality", 0);
|
||||||
|
|
||||||
|
|
||||||
FrameDimension dimension = new FrameDimension(image.FrameDimensionsList[0]);
|
FrameDimension dimension = new FrameDimension(image.FrameDimensionsList[0]);
|
||||||
int frameCount = image.GetFrameCount(dimension);
|
int frameCount = image.GetFrameCount(dimension);
|
||||||
|
|
||||||
if (frameCount > 1)
|
if (frameCount > 1)
|
||||||
{
|
{
|
||||||
|
var delayPropertyBytes = image.GetPropertyItem(0x5100).Value;
|
||||||
|
var frameDelay = BitConverter.ToInt32(delayPropertyBytes) * 10;
|
||||||
|
|
||||||
for (int i = 0; i < frameCount; i++)
|
for (int i = 0; i < frameCount; i++)
|
||||||
{
|
{
|
||||||
image.SelectActiveFrame(dimension, i);
|
image.SelectActiveFrame(dimension, i);
|
||||||
mat.GenerateFrame(image);
|
|
||||||
mat.AddFrame();
|
if (rotation == MatrixRotation.Planar)
|
||||||
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
||||||
|
else
|
||||||
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
||||||
|
|
||||||
|
device.AddFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
StartMatrixTimer();
|
|
||||||
Logger.WriteLine("Matrix GIF " + fileName);
|
Logger.WriteLine("GIF Delay:" + frameDelay);
|
||||||
|
StartMatrixTimer(Math.Max(matrixSpeed, frameDelay));
|
||||||
|
|
||||||
|
//image.SelectActiveFrame(dimension, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mat.GenerateFrame(image);
|
if (rotation == MatrixRotation.Planar)
|
||||||
mat.Present();
|
device.GenerateFrame(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
||||||
Logger.WriteLine("Matrix " + fileName);
|
else
|
||||||
|
device.GenerateFrameDiagonal(image, matrixZoom, matrixX, matrixY, matrixQuality);
|
||||||
|
|
||||||
|
device.Present();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
using GHelper.AnimeMatrix.Communication;
|
using GHelper.AnimeMatrix.Communication;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Drawing.Text;
|
using System.Drawing.Text;
|
||||||
using System.Globalization;
|
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -51,6 +50,12 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum MatrixRotation
|
||||||
|
{
|
||||||
|
Planar,
|
||||||
|
Diagonal
|
||||||
|
}
|
||||||
|
|
||||||
internal class AnimeMatrixPacket : Packet
|
internal class AnimeMatrixPacket : Packet
|
||||||
{
|
{
|
||||||
public AnimeMatrixPacket(byte[] command)
|
public AnimeMatrixPacket(byte[] command)
|
||||||
@@ -77,6 +82,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class AnimeMatrixDevice : Device
|
public class AnimeMatrixDevice : Device
|
||||||
{
|
{
|
||||||
int UpdatePageLength = 490;
|
int UpdatePageLength = 490;
|
||||||
@@ -86,35 +92,36 @@ namespace Starlight.AnimeMatrix
|
|||||||
List<byte[]> frames = new List<byte[]>();
|
List<byte[]> frames = new List<byte[]>();
|
||||||
|
|
||||||
public int MaxRows = 61;
|
public int MaxRows = 61;
|
||||||
//public int FullRows = 11;
|
|
||||||
//public int FullEvenRows = -1;
|
|
||||||
|
|
||||||
public int dx = 0;
|
|
||||||
//Shifts the whole frame to the left or right to align with the diagonal cut
|
|
||||||
public int frameShiftX = 0;
|
|
||||||
public int MaxColumns = 34;
|
public int MaxColumns = 34;
|
||||||
|
public int LedStart = 0;
|
||||||
|
|
||||||
|
public int FullRows = 11;
|
||||||
|
|
||||||
private int frameIndex = 0;
|
private int frameIndex = 0;
|
||||||
|
|
||||||
private static AnimeType _model = AnimeType.GA402;
|
private static AnimeType _model = AnimeType.GA402;
|
||||||
|
|
||||||
|
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
|
||||||
|
private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont, IntPtr pdv, [System.Runtime.InteropServices.In] ref uint pcFonts);
|
||||||
|
private PrivateFontCollection fonts = new PrivateFontCollection();
|
||||||
|
|
||||||
public AnimeMatrixDevice()
|
public AnimeMatrixDevice() : base(0x0B05, 0x193B, 640)
|
||||||
: base(0x0B05, 0x193B, 640)
|
|
||||||
{
|
{
|
||||||
string model = GetModel();
|
string model = GetModel();
|
||||||
|
|
||||||
if (model.Contains("401"))
|
if (model.Contains("401"))
|
||||||
{
|
{
|
||||||
|
|
||||||
_model = AnimeType.GA401;
|
_model = AnimeType.GA401;
|
||||||
|
|
||||||
MaxColumns = 33;
|
MaxColumns = 33;
|
||||||
dx = 1;
|
|
||||||
|
|
||||||
MaxRows = 55;
|
MaxRows = 55;
|
||||||
LedCount = 1245;
|
LedCount = 1245;
|
||||||
|
|
||||||
UpdatePageLength = 410;
|
UpdatePageLength = 410;
|
||||||
|
|
||||||
|
FullRows = 5;
|
||||||
|
|
||||||
|
LedStart = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (model.Contains("GU604"))
|
if (model.Contains("GU604"))
|
||||||
@@ -124,14 +131,28 @@ namespace Starlight.AnimeMatrix
|
|||||||
MaxColumns = 39;
|
MaxColumns = 39;
|
||||||
MaxRows = 92;
|
MaxRows = 92;
|
||||||
LedCount = 1711;
|
LedCount = 1711;
|
||||||
frameShiftX = -5;
|
|
||||||
UpdatePageLength = 630;
|
UpdatePageLength = 630;
|
||||||
|
|
||||||
|
FullRows = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
_displayBuffer = new byte[LedCount];
|
_displayBuffer = new byte[LedCount];
|
||||||
|
|
||||||
|
LoadMFont();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void LoadMFont()
|
||||||
|
{
|
||||||
|
byte[] fontData = GHelper.Properties.Resources.MFont;
|
||||||
|
IntPtr fontPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(fontData.Length);
|
||||||
|
System.Runtime.InteropServices.Marshal.Copy(fontData, 0, fontPtr, fontData.Length);
|
||||||
|
uint dummy = 0;
|
||||||
|
|
||||||
|
fonts.AddMemoryFont(fontPtr, GHelper.Properties.Resources.MFont.Length);
|
||||||
|
AddFontMemResourceEx(fontPtr, (uint)GHelper.Properties.Resources.MFont.Length, IntPtr.Zero, ref dummy);
|
||||||
|
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(fontPtr);
|
||||||
|
}
|
||||||
|
|
||||||
public string GetModel()
|
public string GetModel()
|
||||||
{
|
{
|
||||||
@@ -175,28 +196,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static int FirstX(int y)
|
public int Width()
|
||||||
{
|
|
||||||
switch (_model)
|
|
||||||
{
|
|
||||||
case AnimeType.GA401:
|
|
||||||
if (y < 5)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return (y + 1) / 2 - 3;
|
|
||||||
}
|
|
||||||
case AnimeType.GU604:
|
|
||||||
return (int)Math.Ceiling(Math.Max(0, y - 9) / 2F);
|
|
||||||
|
|
||||||
default:
|
|
||||||
return (int)Math.Ceiling(Math.Max(0, y - 11) / 2F);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int Width(int y)
|
|
||||||
{
|
{
|
||||||
switch (_model)
|
switch (_model)
|
||||||
{
|
{
|
||||||
@@ -209,7 +209,30 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int Pitch(int y)
|
public int FirstX(int y)
|
||||||
|
{
|
||||||
|
switch (_model)
|
||||||
|
{
|
||||||
|
case AnimeType.GA401:
|
||||||
|
if (y < 5 && y % 2 == 0)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return (int)Math.Ceiling(Math.Max(0, y - 5) / 2F);
|
||||||
|
case AnimeType.GU604:
|
||||||
|
if (y < 9 && y % 2 == 0)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return (int)Math.Ceiling(Math.Max(0, y - 9) / 2F);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return (int)Math.Ceiling(Math.Max(0, y - 11) / 2F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int Pitch(int y)
|
||||||
{
|
{
|
||||||
switch (_model)
|
switch (_model)
|
||||||
{
|
{
|
||||||
@@ -226,15 +249,38 @@ namespace Starlight.AnimeMatrix
|
|||||||
default:
|
default:
|
||||||
return 36 - y / 2;
|
return 36 - y / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case AnimeType.GU604:
|
||||||
|
switch (y)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
case 2:
|
||||||
|
case 4:
|
||||||
|
case 6:
|
||||||
|
case 8:
|
||||||
|
return 38;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
case 3:
|
||||||
|
case 5:
|
||||||
|
case 7:
|
||||||
|
case 9:
|
||||||
|
return 39;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return Width() - FirstX(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return Width(y) - FirstX(y);
|
return Width() - FirstX(y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int RowToLinearAddress(int y)
|
public int RowToLinearAddress(int y)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = LedStart;
|
||||||
for (var i = 0; i < y; i++)
|
for (var i = 0; i < y; i++)
|
||||||
ret += Pitch(i);
|
ret += Pitch(i);
|
||||||
|
|
||||||
@@ -245,10 +291,21 @@ namespace Starlight.AnimeMatrix
|
|||||||
{
|
{
|
||||||
if (!IsRowInRange(y)) return;
|
if (!IsRowInRange(y)) return;
|
||||||
|
|
||||||
if (x >= FirstX(y) && x < Width(y))
|
if (x >= FirstX(y) && x < Width())
|
||||||
SetLedLinear(RowToLinearAddress(y) - FirstX(y) + x + dx + frameShiftX, value);
|
SetLedLinear(RowToLinearAddress(y) - FirstX(y) + x, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetLedDiagonal(int x, int y, byte color, int deltaX = 0, int deltaY = 0)
|
||||||
|
{
|
||||||
|
x += deltaX;
|
||||||
|
y -= deltaY;
|
||||||
|
|
||||||
|
int plX = (x - y) / 2;
|
||||||
|
int plY = x + y;
|
||||||
|
SetLedPlanar(plX, plY, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void WakeUp()
|
public void WakeUp()
|
||||||
{
|
{
|
||||||
Set(Packet<AnimeMatrixPacket>(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")));
|
Set(Packet<AnimeMatrixPacket>(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")));
|
||||||
@@ -342,57 +399,77 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void PresentClock()
|
private void SetBitmapDiagonal(Bitmap bmp, int deltaX = 0, int deltaY = 0)
|
||||||
{
|
{
|
||||||
int second = DateTime.Now.Second;
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
string time;
|
{
|
||||||
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
if (CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern.Contains("H"))
|
{
|
||||||
time = DateTime.Now.ToString("H" + ((second % 2 == 0) ? ":" : " ") + "mm");
|
var pixel = bmp.GetPixel(x, y);
|
||||||
else
|
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
||||||
time = DateTime.Now.ToString("h" + ((second % 2 == 0) ? ":" : " ") + "mmtt");
|
if (color > 20)
|
||||||
|
SetLedDiagonal(x, y, (byte)color, deltaX + (FullRows / 2) + 1, deltaY - (FullRows / 2) - 1);
|
||||||
if (_model == AnimeType.GA401)
|
}
|
||||||
PresentText(time);
|
}
|
||||||
else
|
|
||||||
PresentTextDiagonal(time);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetBitmapLinear(Bitmap bmp)
|
||||||
|
|
||||||
public void PresentText(string text1, string text2 = "")
|
|
||||||
{
|
{
|
||||||
using (Bitmap bmp = new Bitmap(MaxColumns * 3, MaxRows))
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
|
if (x % 2 == y % 2)
|
||||||
|
{
|
||||||
|
var pixel = bmp.GetPixel(x, y);
|
||||||
|
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
||||||
|
if (color > 20)
|
||||||
|
SetLedPlanar(x / 2, y, (byte)color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Text(string text, float fontSize = 10, int x = 0, int y = 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
int width = MaxRows - FullRows;
|
||||||
|
int height = MaxRows - FullRows;
|
||||||
|
int textHeight, textWidth;
|
||||||
|
|
||||||
|
using (Bitmap bmp = new Bitmap(width, height))
|
||||||
{
|
{
|
||||||
using (Graphics g = Graphics.FromImage(bmp))
|
using (Graphics g = Graphics.FromImage(bmp))
|
||||||
{
|
{
|
||||||
g.CompositingQuality = CompositingQuality.HighQuality;
|
g.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
g.SmoothingMode = SmoothingMode.AntiAlias;
|
g.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
g.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
|
||||||
|
|
||||||
using (Font font = new Font("Consolas", 21F, FontStyle.Regular, GraphicsUnit.Pixel))
|
using (Font font = new Font(fonts.Families[0], fontSize, FontStyle.Regular, GraphicsUnit.Pixel))
|
||||||
{
|
{
|
||||||
SizeF textSize = g.MeasureString(text1, font);
|
SizeF textSize = g.MeasureString(text, font);
|
||||||
g.DrawString(text1, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 3, -4);
|
textHeight = (int)textSize.Height;
|
||||||
|
textWidth = (int)textSize.Width;
|
||||||
|
g.DrawString(text, font, Brushes.White, x, height - y);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (text2.Length > 0)
|
|
||||||
using (Font font = new Font("Consolas", 18F, GraphicsUnit.Pixel))
|
|
||||||
{
|
|
||||||
SizeF textSize = g.MeasureString(text2, font);
|
|
||||||
g.DrawString(text2, font, Brushes.White, (MaxColumns * 3 - textSize.Width) + 1, 25);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateFrame(bmp, InterpolationMode.Bicubic);
|
SetBitmapDiagonal(bmp, (width - textWidth), height);
|
||||||
Present();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateFrame(Image image, InterpolationMode interpolation = InterpolationMode.High)
|
public void PresentClock()
|
||||||
{
|
{
|
||||||
|
string second = (DateTime.Now.Second % 2 == 0) ? ":" : " ";
|
||||||
|
string time = DateTime.Now.ToString("HH" + second + "mm");
|
||||||
|
|
||||||
|
Clear();
|
||||||
|
Text(time, 15, 0, 25);
|
||||||
|
Text(DateTime.Now.ToString("yy'. 'MM'. 'dd"), 11.5F, 0, 14);
|
||||||
|
Present();
|
||||||
|
|
||||||
|
}
|
||||||
|
public void GenerateFrame(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
||||||
|
{
|
||||||
int width = MaxColumns / 2 * 6;
|
int width = MaxColumns / 2 * 6;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
|
|
||||||
@@ -402,99 +479,55 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
using (Bitmap bmp = new Bitmap(targetWidth, height))
|
using (Bitmap bmp = new Bitmap(targetWidth, height))
|
||||||
{
|
{
|
||||||
scale = Math.Min((float)width / (float)image.Width, (float)height / (float)image.Height);
|
scale = Math.Min((float)width / (float)image.Width, (float)height / (float)image.Height) * zoom / 100;
|
||||||
|
|
||||||
using (var graph = Graphics.FromImage(bmp))
|
using (var graph = Graphics.FromImage(bmp))
|
||||||
{
|
{
|
||||||
var scaleWidth = (float)(image.Width * scale);
|
var scaleWidth = (float)(image.Width * scale);
|
||||||
var scaleHeight = (float)(image.Height * scale);
|
var scaleHeight = (float)(image.Height * scale);
|
||||||
|
|
||||||
graph.InterpolationMode = interpolation;
|
graph.InterpolationMode = quality;
|
||||||
graph.CompositingQuality = CompositingQuality.HighQuality;
|
graph.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
graph.SmoothingMode = SmoothingMode.AntiAlias;
|
graph.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
graph.DrawImage(image, (float)Math.Round(targetWidth - scaleWidth * targetWidth / width), 0, (float)Math.Round(scaleWidth * targetWidth / width), scaleHeight);
|
graph.DrawImage(image, (float)Math.Round(targetWidth - (scaleWidth + panX) * targetWidth / width), -panY, (float)Math.Round(scaleWidth * targetWidth / width), scaleHeight);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
Clear();
|
||||||
{
|
SetBitmapLinear(bmp);
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
|
||||||
if (x % 2 == (y + dx) % 2)
|
|
||||||
{
|
|
||||||
var pixel = bmp.GetPixel(x, y);
|
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
|
||||||
if (color < 10) color = 0;
|
|
||||||
SetLedPlanar(x / 2, y, (byte)color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void GenerateFrameDiagonal(Image image, float zoom = 100, int panX = 0, int panY = 0, InterpolationMode quality = InterpolationMode.Default)
|
||||||
public void SetLedDiagonal(int x, int y, byte color, int delta = 10)
|
|
||||||
{
|
{
|
||||||
//x+=delta;
|
int width = MaxRows - FullRows;
|
||||||
y -= delta;
|
int height = MaxRows - FullRows*2;
|
||||||
|
float scale;
|
||||||
|
|
||||||
int dx = (x - y) / 2;
|
using (Bitmap bmp = new Bitmap(width, height))
|
||||||
int dy = x + y;
|
|
||||||
SetLedPlanar(dx, dy, color);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void PresentTextDiagonal(string text)
|
|
||||||
{
|
|
||||||
|
|
||||||
Clear();
|
|
||||||
|
|
||||||
|
|
||||||
InstalledFontCollection installedFontCollection = new InstalledFontCollection();
|
|
||||||
|
|
||||||
|
|
||||||
string familyName;
|
|
||||||
string familyList = "";
|
|
||||||
FontFamily[] fontFamilies;
|
|
||||||
// Get the array of FontFamily objects.
|
|
||||||
fontFamilies = installedFontCollection.Families;
|
|
||||||
|
|
||||||
int count = fontFamilies.Length;
|
|
||||||
for (int j = 0; j < count; ++j)
|
|
||||||
{
|
{
|
||||||
familyName = fontFamilies[j].Name;
|
scale = Math.Min((float)width / (float)image.Width, (float)height / (float)image.Height) * zoom / 100;
|
||||||
familyList = familyList + familyName;
|
|
||||||
familyList = familyList + ", ";
|
|
||||||
}
|
|
||||||
|
|
||||||
int maxX = (int)Math.Sqrt(MaxRows * MaxRows + MaxColumns * MaxColumns);
|
using (var graph = Graphics.FromImage(bmp))
|
||||||
|
|
||||||
using (Bitmap bmp = new Bitmap(maxX, MaxRows))
|
|
||||||
{
|
|
||||||
using (Graphics g = Graphics.FromImage(bmp))
|
|
||||||
{
|
{
|
||||||
g.CompositingQuality = CompositingQuality.HighQuality;
|
var scaleWidth = (float)(image.Width * scale);
|
||||||
g.SmoothingMode = SmoothingMode.AntiAlias;
|
var scaleHeight = (float)(image.Height * scale);
|
||||||
|
|
||||||
|
graph.InterpolationMode = quality;
|
||||||
|
graph.CompositingQuality = CompositingQuality.HighQuality;
|
||||||
|
graph.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
graph.DrawImage(image, width - scaleWidth, height - scaleHeight, scaleWidth, scaleHeight);
|
||||||
|
|
||||||
using (Font font = new Font("Consolas", 13F, FontStyle.Regular, GraphicsUnit.Pixel))
|
|
||||||
{
|
|
||||||
SizeF textSize = g.MeasureString(text, font);
|
|
||||||
g.DrawString(text, font, Brushes.White, 4, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
Clear();
|
||||||
{
|
SetBitmapDiagonal(bmp, -panX, height + panY);
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
|
||||||
{
|
|
||||||
var pixel = bmp.GetPixel(x, y);
|
|
||||||
var color = (pixel.R + pixel.G + pixel.B) / 3;
|
|
||||||
SetLedDiagonal(x, y, (byte)color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Present();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private bool IsRowInRange(int row)
|
private bool IsRowInRange(int row)
|
||||||
{
|
{
|
||||||
return (row >= 0 && row < MaxRows);
|
return (row >= 0 && row < MaxRows);
|
||||||
|
|||||||
@@ -6,11 +6,17 @@ namespace GHelper.AnimeMatrix.Communication
|
|||||||
{
|
{
|
||||||
public abstract class Device : IDisposable
|
public abstract class Device : IDisposable
|
||||||
{
|
{
|
||||||
private static UsbProvider _usbProvider;
|
protected UsbProvider? _usbProvider;
|
||||||
|
|
||||||
private static ushort _vendorId;
|
protected ushort _vendorId;
|
||||||
private static ushort _productId;
|
protected ushort _productId;
|
||||||
private static int _maxFeatureReportLength;
|
protected int _maxFeatureReportLength;
|
||||||
|
|
||||||
|
protected Device(ushort vendorId, ushort productId)
|
||||||
|
{
|
||||||
|
_vendorId = vendorId;
|
||||||
|
_productId = productId;
|
||||||
|
}
|
||||||
|
|
||||||
protected Device(ushort vendorId, ushort productId, int maxFeatureReportLength)
|
protected Device(ushort vendorId, ushort productId, int maxFeatureReportLength)
|
||||||
{
|
{
|
||||||
@@ -20,7 +26,17 @@ namespace GHelper.AnimeMatrix.Communication
|
|||||||
SetProvider();
|
SetProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetProvider()
|
public ushort VendorID()
|
||||||
|
{
|
||||||
|
return _vendorId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ushort ProductID()
|
||||||
|
{
|
||||||
|
return _productId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void SetProvider()
|
||||||
{
|
{
|
||||||
_usbProvider = new WindowsUsbProvider(_vendorId, _productId, _maxFeatureReportLength);
|
_usbProvider = new WindowsUsbProvider(_vendorId, _productId, _maxFeatureReportLength);
|
||||||
}
|
}
|
||||||
@@ -36,7 +52,12 @@ namespace GHelper.AnimeMatrix.Communication
|
|||||||
public byte[] Get(Packet packet)
|
public byte[] Get(Packet packet)
|
||||||
=> _usbProvider?.Get(packet.Data);
|
=> _usbProvider?.Get(packet.Data);
|
||||||
|
|
||||||
public void Dispose()
|
public void Read(byte[] data)
|
||||||
|
=> _usbProvider?.Read(data);
|
||||||
|
public void Write(byte[] data)
|
||||||
|
=> _usbProvider?.Write(data);
|
||||||
|
|
||||||
|
public virtual void Dispose()
|
||||||
{
|
{
|
||||||
_usbProvider?.Dispose();
|
_usbProvider?.Dispose();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
namespace GHelper.AnimeMatrix.Communication.Platform
|
namespace GHelper.AnimeMatrix.Communication.Platform
|
||||||
{
|
{
|
||||||
internal abstract class UsbProvider : IDisposable
|
public abstract class UsbProvider : IDisposable
|
||||||
{
|
{
|
||||||
protected ushort VendorID { get; }
|
protected ushort VendorID { get; }
|
||||||
protected ushort ProductID { get; }
|
protected ushort ProductID { get; }
|
||||||
@@ -13,6 +13,8 @@ namespace GHelper.AnimeMatrix.Communication.Platform
|
|||||||
|
|
||||||
public abstract void Set(byte[] data);
|
public abstract void Set(byte[] data);
|
||||||
public abstract byte[] Get(byte[] data);
|
public abstract byte[] Get(byte[] data);
|
||||||
|
public abstract void Read(byte[] data);
|
||||||
|
public abstract void Write(byte[] data);
|
||||||
|
|
||||||
public abstract void Dispose();
|
public abstract void Dispose();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,27 @@ namespace GHelper.AnimeMatrix.Communication.Platform
|
|||||||
protected HidDevice HidDevice { get; }
|
protected HidDevice HidDevice { get; }
|
||||||
protected HidStream HidStream { get; }
|
protected HidStream HidStream { get; }
|
||||||
|
|
||||||
|
public WindowsUsbProvider(ushort vendorId, ushort productId, string path, int timeout = 500) : base(vendorId, productId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
HidDevice = DeviceList.Local.GetHidDevices(vendorId, productId)
|
||||||
|
.First(x => x.DevicePath.Contains(path));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
throw new IOException("HID device was not found on your machine.");
|
||||||
|
}
|
||||||
|
|
||||||
|
var config = new OpenConfiguration();
|
||||||
|
config.SetOption(OpenOption.Interruptible, true);
|
||||||
|
config.SetOption(OpenOption.Exclusive, false);
|
||||||
|
config.SetOption(OpenOption.Priority, 10);
|
||||||
|
HidStream = HidDevice.Open(config);
|
||||||
|
HidStream.ReadTimeout = timeout;
|
||||||
|
HidStream.WriteTimeout = timeout;
|
||||||
|
}
|
||||||
|
|
||||||
public WindowsUsbProvider(ushort vendorId, ushort productId, int maxFeatureReportLength)
|
public WindowsUsbProvider(ushort vendorId, ushort productId, int maxFeatureReportLength)
|
||||||
: base(vendorId, productId)
|
: base(vendorId, productId)
|
||||||
{
|
{
|
||||||
@@ -53,6 +74,23 @@ namespace GHelper.AnimeMatrix.Communication.Platform
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Read(byte[] data)
|
||||||
|
{
|
||||||
|
WrapException(() =>
|
||||||
|
{
|
||||||
|
HidStream.Read(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Write(byte[] data)
|
||||||
|
{
|
||||||
|
WrapException(() =>
|
||||||
|
{
|
||||||
|
HidStream.Write(data);
|
||||||
|
HidStream.Flush();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
HidStream.Dispose();
|
HidStream.Dispose();
|
||||||
|
|||||||
197
app/AppConfig.cs
@@ -7,7 +7,10 @@ public static class AppConfig
|
|||||||
{
|
{
|
||||||
|
|
||||||
private static string configFile;
|
private static string configFile;
|
||||||
|
|
||||||
private static string? _model;
|
private static string? _model;
|
||||||
|
private static string? _modelShort;
|
||||||
|
private static string? _bios;
|
||||||
|
|
||||||
private static Dictionary<string, object> config = new Dictionary<string, object>();
|
private static Dictionary<string, object> config = new Dictionary<string, object>();
|
||||||
|
|
||||||
@@ -69,6 +72,34 @@ public static class AppConfig
|
|||||||
return _model;
|
return _model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static (string, string) GetBiosAndModel()
|
||||||
|
{
|
||||||
|
if (_bios is not null && _modelShort is not null) return (_bios, _modelShort);
|
||||||
|
|
||||||
|
using (ManagementObjectSearcher objSearcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_BIOS"))
|
||||||
|
{
|
||||||
|
using (ManagementObjectCollection objCollection = objSearcher.Get())
|
||||||
|
{
|
||||||
|
foreach (ManagementObject obj in objCollection)
|
||||||
|
if (obj["SMBIOSBIOSVersion"] is not null)
|
||||||
|
{
|
||||||
|
string[] results = obj["SMBIOSBIOSVersion"].ToString().Split(".");
|
||||||
|
if (results.Length > 1)
|
||||||
|
{
|
||||||
|
_modelShort = results[0];
|
||||||
|
_bios = results[1];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_modelShort = obj["SMBIOSBIOSVersion"].ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (_bios, _modelShort);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string GetModelShort()
|
public static string GetModelShort()
|
||||||
{
|
{
|
||||||
string model = GetModel();
|
string model = GetModel();
|
||||||
@@ -79,7 +110,6 @@ public static class AppConfig
|
|||||||
|
|
||||||
public static bool ContainsModel(string contains)
|
public static bool ContainsModel(string contains)
|
||||||
{
|
{
|
||||||
|
|
||||||
GetModel();
|
GetModel();
|
||||||
return (_model is not null && _model.ToLower().Contains(contains.ToLower()));
|
return (_model is not null && _model.ToLower().Contains(contains.ToLower()));
|
||||||
}
|
}
|
||||||
@@ -96,8 +126,15 @@ public static class AppConfig
|
|||||||
public static int Get(string name, int empty = -1)
|
public static int Get(string name, int empty = -1)
|
||||||
{
|
{
|
||||||
if (config.ContainsKey(name))
|
if (config.ContainsKey(name))
|
||||||
|
{
|
||||||
|
//Debug.WriteLine(name);
|
||||||
return int.Parse(config[name].ToString());
|
return int.Parse(config[name].ToString());
|
||||||
else return empty;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Debug.WriteLine(name + "E");
|
||||||
|
return empty;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool Is(string name)
|
public static bool Is(string name)
|
||||||
@@ -147,6 +184,11 @@ public static class AppConfig
|
|||||||
Write();
|
Write();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RemoveMode(string name)
|
||||||
|
{
|
||||||
|
Remove(name + "_" + Modes.GetCurrent());
|
||||||
|
}
|
||||||
|
|
||||||
public static string GgetParamName(AsusFan device, string paramName = "fan_profile")
|
public static string GgetParamName(AsusFan device, string paramName = "fan_profile")
|
||||||
{
|
{
|
||||||
int mode = Modes.GetCurrent();
|
int mode = Modes.GetCurrent();
|
||||||
@@ -253,4 +295,155 @@ public static class AppConfig
|
|||||||
Set(name + "_" + Modes.GetCurrent(), value);
|
Set(name + "_" + Modes.GetCurrent(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsAlly()
|
||||||
|
{
|
||||||
|
return ContainsModel("RC71");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool NoMKeys()
|
||||||
|
{
|
||||||
|
return (ContainsModel("Z13") && !IsARCNM()) ||
|
||||||
|
ContainsModel("FX706") ||
|
||||||
|
ContainsModel("FA506") ||
|
||||||
|
ContainsModel("FX506") ||
|
||||||
|
ContainsModel("Duo") ||
|
||||||
|
ContainsModel("FX505");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsARCNM()
|
||||||
|
{
|
||||||
|
return ContainsModel("GZ301VIC");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsTUF()
|
||||||
|
{
|
||||||
|
return ContainsModel("TUF");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsVivobook()
|
||||||
|
{
|
||||||
|
return ContainsModel("Vivobook");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Devices with bugged bios command to change brightness
|
||||||
|
public static bool SwappedBrightness()
|
||||||
|
{
|
||||||
|
return ContainsModel("FA506IH") || ContainsModel("FA506IC") || ContainsModel("FX506LU") || ContainsModel("FX506IC") || ContainsModel("FX506LH");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool IsDUO()
|
||||||
|
{
|
||||||
|
return ContainsModel("Duo");
|
||||||
|
}
|
||||||
|
|
||||||
|
// G14 2020 has no aura, but media keys instead
|
||||||
|
public static bool NoAura()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA401I") && !ContainsModel("GA401IHR");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsSingleColor()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA401") || ContainsModel("FX517Z") || ContainsModel("FX516P") || ContainsModel("X13");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsStrix()
|
||||||
|
{
|
||||||
|
return ContainsModel("Strix") || ContainsModel("Scar");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsStrixLimitedRGB()
|
||||||
|
{
|
||||||
|
return ContainsModel("G614JV") || ContainsModel("G614JZ") || ContainsModel("G512LI") || ContainsModel("G513RS");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsZ13()
|
||||||
|
{
|
||||||
|
return ContainsModel("Z13");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool HasTabletMode()
|
||||||
|
{
|
||||||
|
return ContainsModel("X16") || ContainsModel("X13");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsX13()
|
||||||
|
{
|
||||||
|
return ContainsModel("X13");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool IsAdvantageEdition()
|
||||||
|
{
|
||||||
|
return ContainsModel("13QY");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool NoAutoUltimate()
|
||||||
|
{
|
||||||
|
return ContainsModel("G614") || ContainsModel("GU604") || ContainsModel("FX507") || ContainsModel("G513");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool IsManualModeRequired()
|
||||||
|
{
|
||||||
|
if (!IsMode("auto_apply_power"))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return
|
||||||
|
Is("manual_mode") ||
|
||||||
|
ContainsModel("GU604") ||
|
||||||
|
ContainsModel("G733") ||
|
||||||
|
ContainsModel("FX507Z");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsFanScale()
|
||||||
|
{
|
||||||
|
if (!ContainsModel("GU604")) return false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var (bios, model) = GetBiosAndModel();
|
||||||
|
return (Int32.Parse(bios) < 312);
|
||||||
|
} catch
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsFanRequired()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA402X") || ContainsModel("G513") || ContainsModel("G713R") || ContainsModel("G713P");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsPowerRequired()
|
||||||
|
{
|
||||||
|
return ContainsModel("FX507") || ContainsModel("FX517") || ContainsModel("FX707");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsGPUFixNeeded()
|
||||||
|
{
|
||||||
|
return ContainsModel("GA402X") || ContainsModel("GV302") || ContainsModel("GZ301") || ContainsModel("FX506") || ContainsModel("GU603V") || ContainsModel("GU603Z");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsGPUFix()
|
||||||
|
{
|
||||||
|
return Is("gpu_fix") || (ContainsModel("GA402X") && IsNotFalse("gpu_fix"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsForceSetGPUMode()
|
||||||
|
{
|
||||||
|
return Is("gpu_mode_force_set") || ContainsModel("503");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsNoGPUModes()
|
||||||
|
{
|
||||||
|
return ContainsModel("GV301RA") || ContainsModel("GV302XA") || IsAlly();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsHardwareTouchpadToggle()
|
||||||
|
{
|
||||||
|
return ContainsModel("FA507");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
132
app/AsusACPI.cs
@@ -1,4 +1,6 @@
|
|||||||
using System.Management;
|
using GHelper;
|
||||||
|
using GHelper.USB;
|
||||||
|
using System.Management;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
public enum AsusFan
|
public enum AsusFan
|
||||||
@@ -55,17 +57,24 @@ public class AsusACPI
|
|||||||
public const uint GPU_Fan = 0x00110014;
|
public const uint GPU_Fan = 0x00110014;
|
||||||
public const uint Mid_Fan = 0x00110031;
|
public const uint Mid_Fan = 0x00110031;
|
||||||
|
|
||||||
public const uint PerformanceMode = 0x00120075; // Thermal Control
|
public const uint PerformanceMode = 0x00120075; // Performance modes
|
||||||
|
public const uint VivoBookMode = 0x00110019; // Vivobook performance modes
|
||||||
|
|
||||||
public const uint GPUEco = 0x00090020;
|
public const uint GPUEco = 0x00090020;
|
||||||
|
|
||||||
public const uint GPUXGConnected = 0x00090018;
|
public const uint GPUXGConnected = 0x00090018;
|
||||||
public const uint GPUXG = 0x00090019;
|
public const uint GPUXG = 0x00090019;
|
||||||
|
|
||||||
public const uint GPUMux = 0x00090016;
|
public const uint GPUMux = 0x00090016;
|
||||||
|
public const uint GPUMuxVivo = 0x00090026;
|
||||||
|
|
||||||
public const uint BatteryLimit = 0x00120057;
|
public const uint BatteryLimit = 0x00120057;
|
||||||
public const uint ScreenOverdrive = 0x00050019;
|
public const uint ScreenOverdrive = 0x00050019;
|
||||||
public const uint ScreenMiniled = 0x0005001E;
|
public const uint ScreenMiniled = 0x0005001E;
|
||||||
|
|
||||||
|
public const uint DevsCPUFan = 0x00110022;
|
||||||
|
public const uint DevsGPUFan = 0x00110023;
|
||||||
|
|
||||||
public const uint DevsCPUFanCurve = 0x00110024;
|
public const uint DevsCPUFanCurve = 0x00110024;
|
||||||
public const uint DevsGPUFanCurve = 0x00110025;
|
public const uint DevsGPUFanCurve = 0x00110025;
|
||||||
public const uint DevsMidFanCurve = 0x00110032;
|
public const uint DevsMidFanCurve = 0x00110032;
|
||||||
@@ -87,14 +96,19 @@ public class AsusACPI
|
|||||||
|
|
||||||
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
public const int TUF_KB_BRIGHTNESS = 0x00050021;
|
||||||
public const int TUF_KB = 0x00100056;
|
public const int TUF_KB = 0x00100056;
|
||||||
|
public const int TUF_KB2 = 0x0010005a;
|
||||||
public const int TUF_KB_STATE = 0x00100057;
|
public const int TUF_KB_STATE = 0x00100057;
|
||||||
|
|
||||||
|
public const int MICMUTE_LED = 0x00040017;
|
||||||
|
|
||||||
public const int TabletState = 0x00060077;
|
public const int TabletState = 0x00060077;
|
||||||
public const int FnLock = 0x00100023;
|
public const int FnLock = 0x00100023;
|
||||||
|
|
||||||
public const int ScreenPadToggle = 0x00050031;
|
public const int ScreenPadToggle = 0x00050031;
|
||||||
public const int ScreenPadBrightness = 0x00050032;
|
public const int ScreenPadBrightness = 0x00050032;
|
||||||
|
|
||||||
|
public const int BootSound = 0x00130022;
|
||||||
|
|
||||||
public const int Tablet_Notebook = 0;
|
public const int Tablet_Notebook = 0;
|
||||||
public const int Tablet_Tablet = 1;
|
public const int Tablet_Tablet = 1;
|
||||||
public const int Tablet_Tent = 2;
|
public const int Tablet_Tent = 2;
|
||||||
@@ -109,12 +123,13 @@ public class AsusACPI
|
|||||||
public const int GPUModeStandard = 1;
|
public const int GPUModeStandard = 1;
|
||||||
public const int GPUModeUltimate = 2;
|
public const int GPUModeUltimate = 2;
|
||||||
|
|
||||||
public static int MaxTotal => AppConfig.ContainsModel("13QY") ? 250 : 150;
|
|
||||||
public const int MinTotal = 5;
|
public const int MinTotal = 5;
|
||||||
public const int DefaultTotal = 125;
|
|
||||||
|
|
||||||
public const int MaxCPU = 100;
|
public static int MaxTotal = 150;
|
||||||
|
public static int DefaultTotal = 125;
|
||||||
|
|
||||||
public const int MinCPU = 5;
|
public const int MinCPU = 5;
|
||||||
|
public const int MaxCPU = 100;
|
||||||
public const int DefaultCPU = 80;
|
public const int DefaultCPU = 80;
|
||||||
|
|
||||||
public const int MinGPUBoost = 5;
|
public const int MinGPUBoost = 5;
|
||||||
@@ -212,6 +227,19 @@ public class AsusACPI
|
|||||||
throw new Exception("Can't connect to ACPI");
|
throw new Exception("Can't connect to ACPI");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsAdvantageEdition()) MaxTotal = 250;
|
||||||
|
if (AppConfig.IsX13())
|
||||||
|
{
|
||||||
|
MaxTotal = 75;
|
||||||
|
DefaultTotal = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsAlly())
|
||||||
|
{
|
||||||
|
MaxTotal = 50;
|
||||||
|
DefaultTotal = 30;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
public void Control(uint dwIoControlCode, byte[] lpInBuffer, byte[] lpOutBuffer)
|
||||||
@@ -239,7 +267,7 @@ public class AsusACPI
|
|||||||
protected byte[] CallMethod(uint MethodID, byte[] args)
|
protected byte[] CallMethod(uint MethodID, byte[] args)
|
||||||
{
|
{
|
||||||
byte[] acpiBuf = new byte[8 + args.Length];
|
byte[] acpiBuf = new byte[8 + args.Length];
|
||||||
byte[] outBuffer = new byte[20];
|
byte[] outBuffer = new byte[16];
|
||||||
|
|
||||||
BitConverter.GetBytes((uint)MethodID).CopyTo(acpiBuf, 0);
|
BitConverter.GetBytes((uint)MethodID).CopyTo(acpiBuf, 0);
|
||||||
BitConverter.GetBytes((uint)args.Length).CopyTo(acpiBuf, 4);
|
BitConverter.GetBytes((uint)args.Length).CopyTo(acpiBuf, 4);
|
||||||
@@ -260,7 +288,7 @@ public class AsusACPI
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int DeviceSet(uint DeviceID, int Status, string logName)
|
public int DeviceSet(uint DeviceID, int Status, string? logName)
|
||||||
{
|
{
|
||||||
byte[] args = new byte[8];
|
byte[] args = new byte[8];
|
||||||
BitConverter.GetBytes((uint)DeviceID).CopyTo(args, 0);
|
BitConverter.GetBytes((uint)DeviceID).CopyTo(args, 0);
|
||||||
@@ -269,12 +297,14 @@ public class AsusACPI
|
|||||||
byte[] status = CallMethod(DEVS, args);
|
byte[] status = CallMethod(DEVS, args);
|
||||||
int result = BitConverter.ToInt32(status, 0);
|
int result = BitConverter.ToInt32(status, 0);
|
||||||
|
|
||||||
Logger.WriteLine(logName + " = " + Status + " : " + (result == 1 ? "OK" : result));
|
if (logName is not null)
|
||||||
|
Logger.WriteLine(logName + " = " + Status + " : " + (result == 1 ? "OK" : result));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int DeviceSet(uint DeviceID, byte[] Params, string logName)
|
public int DeviceSet(uint DeviceID, byte[] Params, string? logName)
|
||||||
{
|
{
|
||||||
byte[] args = new byte[4 + Params.Length];
|
byte[] args = new byte[4 + Params.Length];
|
||||||
BitConverter.GetBytes((uint)DeviceID).CopyTo(args, 0);
|
BitConverter.GetBytes((uint)DeviceID).CopyTo(args, 0);
|
||||||
@@ -283,7 +313,9 @@ public class AsusACPI
|
|||||||
byte[] status = CallMethod(DEVS, args);
|
byte[] status = CallMethod(DEVS, args);
|
||||||
int result = BitConverter.ToInt32(status, 0);
|
int result = BitConverter.ToInt32(status, 0);
|
||||||
|
|
||||||
Logger.WriteLine(logName + " = " + BitConverter.ToString(Params) + " : " + (result == 1 ? "OK" : result));
|
if (logName is not null)
|
||||||
|
Logger.WriteLine(logName + " = " + BitConverter.ToString(Params) + " : " + (result == 1 ? "OK" : result));
|
||||||
|
|
||||||
return BitConverter.ToInt32(status, 0);
|
return BitConverter.ToInt32(status, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,6 +353,56 @@ public class AsusACPI
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetFan(AsusFan device)
|
||||||
|
{
|
||||||
|
int fan = -1;
|
||||||
|
|
||||||
|
switch (device)
|
||||||
|
{
|
||||||
|
case AsusFan.GPU:
|
||||||
|
fan = Program.acpi.DeviceGet(GPU_Fan);
|
||||||
|
break;
|
||||||
|
case AsusFan.Mid:
|
||||||
|
fan = Program.acpi.DeviceGet(Mid_Fan);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fan = Program.acpi.DeviceGet(CPU_Fan);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fan < 0)
|
||||||
|
{
|
||||||
|
fan += 65536;
|
||||||
|
if (fan <= 0 || fan > 100) fan = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fan;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SetFanRange(AsusFan device, byte[] curve)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (curve.Length != 16) return -1;
|
||||||
|
if (curve.All(singleByte => singleByte == 0)) return -1;
|
||||||
|
|
||||||
|
byte min = (byte)(curve[8] * 255 / 100);
|
||||||
|
byte max = (byte)(curve[15] * 255 / 100);
|
||||||
|
byte[] range = { min, max};
|
||||||
|
|
||||||
|
int result;
|
||||||
|
switch (device)
|
||||||
|
{
|
||||||
|
case AsusFan.GPU:
|
||||||
|
result = DeviceSet(DevsGPUFan, range, "FanRangeGPU");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
result = DeviceSet(DevsCPUFan, range, "FanRangeCPU");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public int SetFanCurve(AsusFan device, byte[] curve)
|
public int SetFanCurve(AsusFan device, byte[] curve)
|
||||||
{
|
{
|
||||||
@@ -330,8 +412,14 @@ public class AsusACPI
|
|||||||
|
|
||||||
int result;
|
int result;
|
||||||
|
|
||||||
for (int i = 8; i < curve.Length; i++)
|
int defaultScale = (AppConfig.IsFanScale() && (device == AsusFan.CPU || device == AsusFan.GPU)) ? 130 : 100;
|
||||||
curve[i] = Math.Max((byte)0, Math.Min((byte)99, curve[i])); // it seems to be a bug, when some old model's bios can go nuts if fan is set to 100%
|
int fanScale = AppConfig.Get("fan_scale", defaultScale);
|
||||||
|
|
||||||
|
if (fanScale != 100 && device == AsusFan.CPU) Logger.WriteLine("Custom fan scale: " + fanScale);
|
||||||
|
|
||||||
|
// it seems to be a bug, when some old model's bios can go nuts if fan is set to 100%
|
||||||
|
|
||||||
|
for (int i = 8; i < curve.Length; i++) curve[i] = (byte)(Math.Max((byte)0, Math.Min((byte)100, curve[i])) * fanScale / 100);
|
||||||
|
|
||||||
switch (device)
|
switch (device)
|
||||||
{
|
{
|
||||||
@@ -388,7 +476,14 @@ public class AsusACPI
|
|||||||
if (curve.Length != 16) throw new Exception("Incorrect curve");
|
if (curve.Length != 16) throw new Exception("Incorrect curve");
|
||||||
|
|
||||||
var points = new Dictionary<byte, byte>();
|
var points = new Dictionary<byte, byte>();
|
||||||
for (int i = 0; i < 8; i++) points[curve[i]] = curve[i + 8];
|
byte old = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < 8; i++)
|
||||||
|
{
|
||||||
|
if (curve[i] == old) curve[i]++; // preventing 2 points in same spot from default asus profiles
|
||||||
|
points[curve[i]] = curve[i + 8];
|
||||||
|
old = curve[i];
|
||||||
|
}
|
||||||
|
|
||||||
var pointsFixed = new Dictionary<byte, byte>();
|
var pointsFixed = new Dictionary<byte, byte>();
|
||||||
bool fix = false;
|
bool fix = false;
|
||||||
@@ -455,19 +550,20 @@ public class AsusACPI
|
|||||||
DeviceSet(TUF_KB_BRIGHTNESS, param, "TUF Brightness");
|
DeviceSet(TUF_KB_BRIGHTNESS, param, "TUF Brightness");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TUFKeyboardRGB(int mode, Color color, int speed)
|
public void TUFKeyboardRGB(AuraMode mode, Color color, int speed, string? log = "TUF RGB")
|
||||||
{
|
{
|
||||||
|
|
||||||
byte[] setting = new byte[12];
|
byte[] setting = new byte[6];
|
||||||
setting[0] = (byte)0xB4;
|
|
||||||
|
setting[0] = (byte)0xb4;
|
||||||
setting[1] = (byte)mode;
|
setting[1] = (byte)mode;
|
||||||
setting[2] = color.R;
|
setting[2] = color.R;
|
||||||
setting[3] = color.G;
|
setting[3] = color.G;
|
||||||
setting[4] = color.B;
|
setting[4] = color.B;
|
||||||
setting[5] = (byte)speed;
|
setting[5] = (byte)speed;
|
||||||
|
|
||||||
DeviceSet(TUF_KB, setting, "TUF RGB");
|
int result = DeviceSet(TUF_KB, setting, log);
|
||||||
//Debug.WriteLine(BitConverter.ToString(setting));
|
if (result != 1) DeviceSet(TUF_KB2, setting, log);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
1499
app/AsusMouseSettings.Designer.cs
generated
Normal file
900
app/AsusMouseSettings.cs
Normal file
@@ -0,0 +1,900 @@
|
|||||||
|
using GHelper.Peripherals.Mouse;
|
||||||
|
using GHelper.UI;
|
||||||
|
|
||||||
|
namespace GHelper
|
||||||
|
{
|
||||||
|
public partial class AsusMouseSettings : RForm
|
||||||
|
{
|
||||||
|
private static Dictionary<LightingMode, string> lightingModeNames = new Dictionary<LightingMode, string>()
|
||||||
|
{
|
||||||
|
{ LightingMode.Static,Properties.Strings.AuraStatic},
|
||||||
|
{ LightingMode.Breathing, Properties.Strings.AuraBreathe},
|
||||||
|
{ LightingMode.ColorCycle, Properties.Strings.AuraColorCycle},
|
||||||
|
{ LightingMode.Rainbow, Properties.Strings.AuraRainbow},
|
||||||
|
{ LightingMode.React, Properties.Strings.AuraReact},
|
||||||
|
{ LightingMode.Comet, Properties.Strings.AuraComet},
|
||||||
|
{ LightingMode.BatteryState, Properties.Strings.AuraBatteryState},
|
||||||
|
{ LightingMode.Off, Properties.Strings.MatrixOff},
|
||||||
|
};
|
||||||
|
private List<LightingMode> supportedLightingModes = new List<LightingMode>();
|
||||||
|
|
||||||
|
private readonly AsusMouse mouse;
|
||||||
|
private readonly RButton[] dpiButtons;
|
||||||
|
private LightingZone visibleZone = LightingZone.All;
|
||||||
|
|
||||||
|
private bool updateMouseDPI = true;
|
||||||
|
|
||||||
|
public AsusMouseSettings(AsusMouse mouse)
|
||||||
|
{
|
||||||
|
this.mouse = mouse;
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
dpiButtons = new RButton[] { buttonDPI1, buttonDPI2, buttonDPI3, buttonDPI4 };
|
||||||
|
|
||||||
|
|
||||||
|
labelPollingRate.Text = Properties.Strings.PollingRate;
|
||||||
|
labelLighting.Text = Properties.Strings.Lighting;
|
||||||
|
labelLightingMode.Text = Properties.Strings.AuraLightingMode;
|
||||||
|
labelEnergy.Text = Properties.Strings.EnergySettings;
|
||||||
|
labelPerformance.Text = Properties.Strings.MousePerformance;
|
||||||
|
checkBoxRandomColor.Text = Properties.Strings.AuraRandomColor;
|
||||||
|
labelLowBatteryWarning.Text = Properties.Strings.MouseLowBatteryWarning;
|
||||||
|
labelAutoPowerOff.Text = Properties.Strings.MouseAutoPowerOff;
|
||||||
|
buttonSync.Text = Properties.Strings.MouseSynchronize;
|
||||||
|
checkBoxAngleSnapping.Text = Properties.Strings.MouseAngleSnapping;
|
||||||
|
labelLiftOffDistance.Text = Properties.Strings.MouseLiftOffDistance;
|
||||||
|
labelChargingState.Text = "(" + Properties.Strings.Charging + ")";
|
||||||
|
labelProfile.Text = Properties.Strings.Profile;
|
||||||
|
labelButtonDebounce.Text = Properties.Strings.MouseButtonResponse;
|
||||||
|
labelAcceleration.Text = Properties.Strings.Acceleration;
|
||||||
|
labelDeceleration.Text = Properties.Strings.Deceleration;
|
||||||
|
|
||||||
|
buttonLightingZoneLogo.Text = Properties.Strings.AuraZoneLogo;
|
||||||
|
buttonLightingZoneScroll.Text = Properties.Strings.AuraZoneScroll;
|
||||||
|
buttonLightingZoneUnderglow.Text = Properties.Strings.AuraZoneUnderglow;
|
||||||
|
buttonLightingZoneAll.Text = Properties.Strings.AuraZoneAll;
|
||||||
|
buttonLightingZoneDock.Text = Properties.Strings.AuraZoneDock;
|
||||||
|
|
||||||
|
InitTheme();
|
||||||
|
|
||||||
|
this.Text = mouse.GetDisplayName();
|
||||||
|
|
||||||
|
Shown += AsusMouseSettings_Shown;
|
||||||
|
FormClosing += AsusMouseSettings_FormClosing;
|
||||||
|
|
||||||
|
comboProfile.DropDownClosed += ComboProfile_DropDownClosed;
|
||||||
|
|
||||||
|
sliderDPI.ValueChanged += SliderDPI_ValueChanged;
|
||||||
|
numericUpDownCurrentDPI.ValueChanged += NumericUpDownCurrentDPI_ValueChanged;
|
||||||
|
sliderDPI.MouseUp += SliderDPI_MouseUp;
|
||||||
|
sliderDPI.MouseDown += SliderDPI_MouseDown;
|
||||||
|
buttonDPIColor.Click += ButtonDPIColor_Click;
|
||||||
|
buttonDPI1.Click += ButtonDPI_Click;
|
||||||
|
buttonDPI2.Click += ButtonDPI_Click;
|
||||||
|
buttonDPI3.Click += ButtonDPI_Click;
|
||||||
|
buttonDPI4.Click += ButtonDPI_Click;
|
||||||
|
|
||||||
|
comboBoxPollingRate.DropDownClosed += ComboBoxPollingRate_DropDownClosed;
|
||||||
|
checkBoxAngleSnapping.CheckedChanged += CheckAngleSnapping_CheckedChanged;
|
||||||
|
sliderAngleAdjustment.ValueChanged += SliderAngleAdjustment_ValueChanged;
|
||||||
|
sliderAngleAdjustment.MouseUp += SliderAngleAdjustment_MouseUp;
|
||||||
|
comboBoxLiftOffDistance.DropDownClosed += ComboBoxLiftOffDistance_DropDownClosed;
|
||||||
|
sliderButtonDebounce.ValueChanged += SliderButtonDebounce_ValueChanged;
|
||||||
|
sliderButtonDebounce.MouseUp += SliderButtonDebounce_MouseUp;
|
||||||
|
|
||||||
|
sliderAcceleration.MouseUp += SliderAcceleration_MouseUp;
|
||||||
|
sliderAcceleration.ValueChanged += SliderAcceleration_ValueChanged;
|
||||||
|
|
||||||
|
sliderDeceleration.MouseUp += SliderDeceleration_MouseUp;
|
||||||
|
sliderDeceleration.ValueChanged += SliderDeceleration_ValueChanged;
|
||||||
|
|
||||||
|
buttonLightingColor.Click += ButtonLightingColor_Click;
|
||||||
|
comboBoxLightingMode.DropDownClosed += ComboBoxLightingMode_DropDownClosed;
|
||||||
|
sliderBrightness.MouseUp += SliderBrightness_MouseUp;
|
||||||
|
comboBoxAnimationSpeed.DropDownClosed += ComboBoxAnimationSpeed_DropDownClosed;
|
||||||
|
comboBoxAnimationDirection.DropDownClosed += ComboBoxAnimationDirection_DropDownClosed;
|
||||||
|
checkBoxRandomColor.CheckedChanged += CheckBoxRandomColor_CheckedChanged;
|
||||||
|
|
||||||
|
sliderLowBatteryWarning.ValueChanged += SliderLowBatteryWarning_ValueChanged;
|
||||||
|
sliderLowBatteryWarning.MouseUp += SliderLowBatteryWarning_MouseUp;
|
||||||
|
comboBoxAutoPowerOff.DropDownClosed += ComboBoxAutoPowerOff_DropDownClosed;
|
||||||
|
|
||||||
|
|
||||||
|
buttonLightingZoneAll.Click += ButtonLightingZoneAll_Click;
|
||||||
|
buttonLightingZoneDock.Click += ButtonLightingZoneDock_Click;
|
||||||
|
buttonLightingZoneLogo.Click += ButtonLightingZoneLogo_Click;
|
||||||
|
buttonLightingZoneUnderglow.Click += ButtonLightingZoneUnderglow_Click;
|
||||||
|
buttonLightingZoneScroll.Click += ButtonLightingZoneScroll_Click;
|
||||||
|
|
||||||
|
InitMouseCapabilities();
|
||||||
|
Logger.WriteLine(mouse.GetDisplayName() + " (GUI): Initialized capabilities. Synchronizing mouse data");
|
||||||
|
RefreshMouseData();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderAcceleration_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetAcceleration(sliderAcceleration.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderAcceleration_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
labelAccelerationValue.Text = sliderAcceleration.Value.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderDeceleration_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetDeceleration(sliderDeceleration.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderDeceleration_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
labelDecelerationValue.Text = sliderDeceleration.Value.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderButtonDebounce_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
DebounceTime dbt = (DebounceTime)sliderButtonDebounce.Value;
|
||||||
|
mouse.SetDebounce(dbt);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderButtonDebounce_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DebounceTime dbt = (DebounceTime)sliderButtonDebounce.Value;
|
||||||
|
int time = mouse.DebounceTimeInMS(dbt);
|
||||||
|
|
||||||
|
labelButtonDebounceValue.Text = time + "ms";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SwitchLightingZone(LightingZone zone)
|
||||||
|
{
|
||||||
|
if (!mouse.HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
visibleZone = zone;
|
||||||
|
InitLightingModes();
|
||||||
|
VisusalizeLightingSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingZoneScroll_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SwitchLightingZone(LightingZone.Scrollwheel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingZoneUnderglow_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SwitchLightingZone(LightingZone.Underglow);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingZoneLogo_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SwitchLightingZone(LightingZone.Logo);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingZoneDock_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SwitchLightingZone(LightingZone.Dock);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingZoneAll_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SwitchLightingZone(LightingZone.All);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AsusMouseSettings_FormClosing(object? sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
mouse.BatteryUpdated -= Mouse_BatteryUpdated;
|
||||||
|
mouse.Disconnect -= Mouse_Disconnect;
|
||||||
|
mouse.MouseReadyChanged -= Mouse_MouseReadyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Mouse_MouseReadyChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Disposing || IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!mouse.IsDeviceReady)
|
||||||
|
{
|
||||||
|
this.Invoke(delegate
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Mouse_BatteryUpdated(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Disposing || IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.Invoke(delegate
|
||||||
|
{
|
||||||
|
VisualizeBatteryState();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboProfile_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (mouse.Profile == comboProfile.SelectedIndex)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse.SetProfile(comboProfile.SelectedIndex);
|
||||||
|
RefreshMouseData();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboBoxPollingRate_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetPollingRate(mouse.SupportedPollingrates()[comboBoxPollingRate.SelectedIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonDPIColor_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ColorDialog colorDlg = new ColorDialog
|
||||||
|
{
|
||||||
|
AllowFullOpen = true,
|
||||||
|
Color = pictureDPIColor.BackColor
|
||||||
|
};
|
||||||
|
|
||||||
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1];
|
||||||
|
dpi.Color = colorDlg.Color;
|
||||||
|
|
||||||
|
mouse.SetDPIForProfile(dpi, mouse.DpiProfile);
|
||||||
|
|
||||||
|
VisualizeDPIButtons();
|
||||||
|
VisualizeCurrentDPIProfile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonDPI_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int index = -1;
|
||||||
|
|
||||||
|
for (int i = 0; i < dpiButtons.Length; ++i)
|
||||||
|
{
|
||||||
|
if (sender == dpiButtons[i])
|
||||||
|
{
|
||||||
|
index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index == -1)
|
||||||
|
{
|
||||||
|
//huh?
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse.SetDPIProfile(index + 1);
|
||||||
|
VisualizeDPIButtons();
|
||||||
|
VisualizeCurrentDPIProfile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateLightingSettings(LightingSetting settings, LightingZone zone)
|
||||||
|
{
|
||||||
|
mouse.SetLightingSetting(settings, visibleZone);
|
||||||
|
VisusalizeLightingSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckBoxRandomColor_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
ls.RandomColor = checkBoxRandomColor.Checked;
|
||||||
|
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboBoxAnimationDirection_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
ls.AnimationDirection = (AnimationDirection)comboBoxAnimationDirection.SelectedIndex;
|
||||||
|
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboBoxAnimationSpeed_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
// 0 => 0x9
|
||||||
|
// 1 => 0x7
|
||||||
|
// 2 => 0x5
|
||||||
|
ls.AnimationSpeed = (AnimationSpeed)(0x9 - (comboBoxAnimationSpeed.SelectedIndex * 0x2));
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderBrightness_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
ls.Brightness = sliderBrightness.Value;
|
||||||
|
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboBoxLightingMode_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!mouse.HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
LightingMode lm = supportedLightingModes[comboBoxLightingMode.SelectedIndex];
|
||||||
|
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
if (ls.LightingMode == lm)
|
||||||
|
{
|
||||||
|
//Nothing to do here.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ls.LightingMode = lm;
|
||||||
|
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonLightingColor_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ColorDialog colorDlg = new ColorDialog
|
||||||
|
{
|
||||||
|
AllowFullOpen = true,
|
||||||
|
Color = pictureBoxLightingColor.BackColor
|
||||||
|
};
|
||||||
|
|
||||||
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
ls.RGBColor = colorDlg.Color;
|
||||||
|
|
||||||
|
UpdateLightingSettings(ls, visibleZone);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderLowBatteryWarning_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
labelLowBatteryWarningValue.Text = sliderLowBatteryWarning.Value.ToString() + "%";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderLowBatteryWarning_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetEnergySettings(sliderLowBatteryWarning.Value, mouse.PowerOffSetting);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ComboBoxAutoPowerOff_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
object? obj = Enum.GetValues(typeof(PowerOffSetting)).GetValue(comboBoxAutoPowerOff.SelectedIndex);
|
||||||
|
if (obj is null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PowerOffSetting pos = (PowerOffSetting)obj;
|
||||||
|
|
||||||
|
|
||||||
|
mouse.SetEnergySettings(mouse.LowBatteryWarning, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderAngleAdjustment_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
labelAngleAdjustmentValue.Text = sliderAngleAdjustment.Value.ToString() + "°";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderAngleAdjustment_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetAngleAdjustment((short)sliderAngleAdjustment.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboBoxLiftOffDistance_DropDownClosed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetLiftOffDistance((LiftOffDistance)comboBoxLiftOffDistance.SelectedIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckAngleSnapping_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mouse.SetAngleSnapping(checkBoxAngleSnapping.Checked);
|
||||||
|
mouse.SetAngleAdjustment((short)sliderAngleAdjustment.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderDPI_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
numericUpDownCurrentDPI.Value = sliderDPI.Value;
|
||||||
|
UpdateMouseDPISettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void NumericUpDownCurrentDPI_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
sliderDPI.Value = (int)numericUpDownCurrentDPI.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderDPI_MouseDown(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
updateMouseDPI = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SliderDPI_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
updateMouseDPI = true;
|
||||||
|
UpdateMouseDPISettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateMouseDPISettings()
|
||||||
|
{
|
||||||
|
if (!updateMouseDPI)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1];
|
||||||
|
dpi.DPI = (uint)sliderDPI.Value;
|
||||||
|
|
||||||
|
mouse.SetDPIForProfile(dpi, mouse.DpiProfile);
|
||||||
|
|
||||||
|
VisualizeDPIButtons();
|
||||||
|
VisualizeCurrentDPIProfile();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Mouse_Disconnect(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Disposing || IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//Mouse disconnected. Bye bye.
|
||||||
|
this.Invoke(delegate
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshMouseData()
|
||||||
|
{
|
||||||
|
mouse.SynchronizeDevice();
|
||||||
|
|
||||||
|
Logger.WriteLine(mouse.GetDisplayName() + " (GUI): Mouse data synchronized");
|
||||||
|
if (!mouse.IsDeviceReady)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(mouse.GetDisplayName() + " (GUI): Mouse is not ready. Closing view.");
|
||||||
|
Mouse_Disconnect(this, EventArgs.Empty);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Disposing || IsDisposed)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
VisualizeMouseSettings();
|
||||||
|
VisualizeBatteryState();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitMouseCapabilities()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < mouse.ProfileCount(); ++i)
|
||||||
|
{
|
||||||
|
String prf = Properties.Strings.Profile + " " + (i + 1);
|
||||||
|
comboProfile.Items.Add(prf);
|
||||||
|
}
|
||||||
|
|
||||||
|
labelMinDPI.Text = mouse.MinDPI().ToString();
|
||||||
|
labelMaxDPI.Text = mouse.MaxDPI().ToString();
|
||||||
|
|
||||||
|
sliderDPI.Max = mouse.MaxDPI();
|
||||||
|
sliderDPI.Min = mouse.MinDPI();
|
||||||
|
sliderDPI.Step = mouse.DPIIncrements();
|
||||||
|
|
||||||
|
numericUpDownCurrentDPI.Minimum = mouse.MinDPI();
|
||||||
|
numericUpDownCurrentDPI.Maximum = mouse.MaxDPI();
|
||||||
|
numericUpDownCurrentDPI.Increment = mouse.DPIIncrements();
|
||||||
|
|
||||||
|
if (!mouse.HasDebounceSetting())
|
||||||
|
{
|
||||||
|
panelDebounce.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!mouse.HasDPIColors())
|
||||||
|
{
|
||||||
|
buttonDPIColor.Visible = false;
|
||||||
|
pictureDPIColor.Visible = false;
|
||||||
|
buttonDPI1.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Red);
|
||||||
|
buttonDPI2.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Purple);
|
||||||
|
buttonDPI3.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Blue);
|
||||||
|
buttonDPI4.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Green);
|
||||||
|
|
||||||
|
buttonDPI1.BorderColor = Color.Red;
|
||||||
|
buttonDPI2.BorderColor = Color.Purple;
|
||||||
|
buttonDPI3.BorderColor = Color.Blue;
|
||||||
|
buttonDPI4.BorderColor = Color.Green;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.CanSetPollingRate())
|
||||||
|
{
|
||||||
|
foreach (PollingRate pr in mouse.SupportedPollingrates())
|
||||||
|
{
|
||||||
|
comboBoxPollingRate.Items.Add(mouse.PollingRateDisplayString(pr));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panelPollingRate.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasAngleSnapping())
|
||||||
|
{
|
||||||
|
checkBoxAngleSnapping.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasAngleTuning())
|
||||||
|
{
|
||||||
|
labelAngleAdjustmentValue.Visible = false;
|
||||||
|
sliderAngleAdjustment.Visible = false;
|
||||||
|
sliderAngleAdjustment.Max = mouse.AngleTuningMax();
|
||||||
|
sliderAngleAdjustment.Min = mouse.AngleTuningMin();
|
||||||
|
sliderAngleAdjustment.Step = mouse.AngleTuningStep();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasAngleTuning() && !mouse.HasAngleSnapping())
|
||||||
|
{
|
||||||
|
panelAngleSnapping.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAcceleration())
|
||||||
|
{
|
||||||
|
sliderAcceleration.Max = mouse.MaxAcceleration();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panelAcceleration.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasDeceleration())
|
||||||
|
{
|
||||||
|
sliderDeceleration.Max = mouse.MaxDeceleration();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panelDeceleration.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasLiftOffSetting())
|
||||||
|
{
|
||||||
|
comboBoxLiftOffDistance.Items.AddRange(new string[] {
|
||||||
|
Properties.Strings.Low,
|
||||||
|
Properties.Strings.High,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panelLiftOffDistance.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.DPIProfileCount() < 4)
|
||||||
|
{
|
||||||
|
for (int i = 3; i > mouse.DPIProfileCount() - 1; --i)
|
||||||
|
{
|
||||||
|
dpiButtons[i].Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasBattery())
|
||||||
|
{
|
||||||
|
panelBatteryState.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAutoPowerOff())
|
||||||
|
{
|
||||||
|
comboBoxAutoPowerOff.Items.AddRange(new string[]{
|
||||||
|
" 1 "+ Properties.Strings.Minute,
|
||||||
|
" 2 "+ Properties.Strings.Minutes,
|
||||||
|
" 3 "+ Properties.Strings.Minutes,
|
||||||
|
" 5 "+ Properties.Strings.Minutes,
|
||||||
|
"10 "+ Properties.Strings.Minutes,
|
||||||
|
Properties.Strings.Never,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasLowBatteryWarning())
|
||||||
|
{
|
||||||
|
labelLowBatteryWarning.Visible = false;
|
||||||
|
labelLowBatteryWarningValue.Visible = false;
|
||||||
|
sliderLowBatteryWarning.Visible = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sliderLowBatteryWarning.Min = 0;
|
||||||
|
sliderLowBatteryWarning.Step = mouse.LowBatteryWarningStep();
|
||||||
|
sliderLowBatteryWarning.Max = mouse.LowBatteryWarningMax();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mouse.HasAutoPowerOff() && !mouse.HasLowBatteryWarning())
|
||||||
|
{
|
||||||
|
panelEnergy.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasRGB())
|
||||||
|
{
|
||||||
|
if (mouse.SupportedLightingZones().Length > 1)
|
||||||
|
{
|
||||||
|
buttonLightingZoneLogo.Visible = mouse.SupportedLightingZones().Contains(LightingZone.Logo);
|
||||||
|
buttonLightingZoneScroll.Visible = mouse.SupportedLightingZones().Contains(LightingZone.Scrollwheel);
|
||||||
|
buttonLightingZoneUnderglow.Visible = mouse.SupportedLightingZones().Contains(LightingZone.Underglow);
|
||||||
|
buttonLightingZoneDock.Visible = mouse.SupportedLightingZones().Contains(LightingZone.Dock);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buttonLightingZoneLogo.Visible = false;
|
||||||
|
buttonLightingZoneScroll.Visible = false;
|
||||||
|
buttonLightingZoneUnderglow.Visible = false;
|
||||||
|
buttonLightingZoneDock.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sliderBrightness.Max = mouse.MaxBrightness();
|
||||||
|
|
||||||
|
InitLightingModes();
|
||||||
|
|
||||||
|
comboBoxAnimationDirection.Items.AddRange(new string[] {
|
||||||
|
Properties.Strings.AuraClockwise,
|
||||||
|
Properties.Strings.AuraCounterClockwise,
|
||||||
|
});
|
||||||
|
|
||||||
|
comboBoxAnimationSpeed.Items.AddRange(new string[] {
|
||||||
|
Properties.Strings.AuraSlow,
|
||||||
|
Properties.Strings.AuraNormal,
|
||||||
|
Properties.Strings.AuraFast
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
panelLighting.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitLightingModes()
|
||||||
|
{
|
||||||
|
comboBoxLightingMode.Items.Clear();
|
||||||
|
supportedLightingModes.Clear();
|
||||||
|
foreach (LightingMode lm in Enum.GetValues(typeof(LightingMode)))
|
||||||
|
{
|
||||||
|
if (mouse.IsLightingModeSupported(lm) && mouse.IsLightingModeSupportedForZone(lm, visibleZone))
|
||||||
|
{
|
||||||
|
comboBoxLightingMode.Items.Add(lightingModeNames.GetValueOrDefault(lm));
|
||||||
|
supportedLightingModes.Add(lm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void VisualizeMouseSettings()
|
||||||
|
{
|
||||||
|
if (mouse.Profile < comboProfile.Items.Count)
|
||||||
|
comboProfile.SelectedIndex = mouse.Profile;
|
||||||
|
|
||||||
|
if (mouse.HasRGB())
|
||||||
|
{
|
||||||
|
//If current lighting mode is zoned, pre-select the first zone and not "All".
|
||||||
|
bool zoned = mouse.IsLightingZoned();
|
||||||
|
if (zoned)
|
||||||
|
{
|
||||||
|
visibleZone = mouse.SupportedLightingZones()[0];
|
||||||
|
InitLightingModes();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VisualizeDPIButtons();
|
||||||
|
VisualizeCurrentDPIProfile();
|
||||||
|
VisusalizeLightingSettings();
|
||||||
|
|
||||||
|
if (mouse.CanSetPollingRate())
|
||||||
|
{
|
||||||
|
int idx = mouse.PollingRateIndex(mouse.PollingRate);
|
||||||
|
if (idx == -1)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
comboBoxPollingRate.SelectedIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAngleSnapping())
|
||||||
|
{
|
||||||
|
checkBoxAngleSnapping.Checked = mouse.AngleSnapping;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAngleTuning())
|
||||||
|
{
|
||||||
|
sliderAngleAdjustment.Value = mouse.AngleAdjustmentDegrees;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAutoPowerOff())
|
||||||
|
{
|
||||||
|
if (mouse.PowerOffSetting == PowerOffSetting.Never)
|
||||||
|
{
|
||||||
|
comboBoxAutoPowerOff.SelectedIndex = comboBoxAutoPowerOff.Items.Count - 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
comboBoxAutoPowerOff.SelectedIndex = (int)mouse.PowerOffSetting;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasLowBatteryWarning())
|
||||||
|
{
|
||||||
|
sliderLowBatteryWarning.Value = mouse.LowBatteryWarning;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasLiftOffSetting())
|
||||||
|
{
|
||||||
|
comboBoxLiftOffDistance.SelectedIndex = (int)mouse.LiftOffDistance;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasDebounceSetting())
|
||||||
|
{
|
||||||
|
sliderButtonDebounce.Value = (int)mouse.Debounce;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasAcceleration())
|
||||||
|
{
|
||||||
|
sliderAcceleration.Value = mouse.Acceleration;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mouse.HasDeceleration())
|
||||||
|
{
|
||||||
|
sliderDeceleration.Value = mouse.Deceleration;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VisualizeBatteryState()
|
||||||
|
{
|
||||||
|
if (!mouse.HasBattery())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
labelBatteryState.Text = mouse.Battery + "%";
|
||||||
|
labelChargingState.Visible = mouse.Charging;
|
||||||
|
|
||||||
|
if (mouse.Charging)
|
||||||
|
{
|
||||||
|
pictureBoxBatteryState.BackgroundImage = ControlHelper.TintImage(Properties.Resources.icons8_ladende_batterie_48, foreMain);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pictureBoxBatteryState.BackgroundImage = ControlHelper.TintImage(Properties.Resources.icons8_batterie_voll_geladen_48, foreMain);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void VisusalizeLightingZones()
|
||||||
|
{
|
||||||
|
bool zoned = mouse.IsLightingZoned();
|
||||||
|
|
||||||
|
buttonLightingZoneAll.Activated = visibleZone == LightingZone.All;
|
||||||
|
buttonLightingZoneLogo.Activated = visibleZone == LightingZone.Logo;
|
||||||
|
buttonLightingZoneScroll.Activated = visibleZone == LightingZone.Scrollwheel;
|
||||||
|
buttonLightingZoneUnderglow.Activated = visibleZone == LightingZone.Underglow;
|
||||||
|
buttonLightingZoneDock.Activated = visibleZone == LightingZone.Dock;
|
||||||
|
|
||||||
|
buttonLightingZoneAll.Secondary = zoned;
|
||||||
|
buttonLightingZoneLogo.Secondary = !zoned;
|
||||||
|
buttonLightingZoneScroll.Secondary = !zoned;
|
||||||
|
buttonLightingZoneUnderglow.Secondary = !zoned;
|
||||||
|
buttonLightingZoneDock.Secondary = !zoned;
|
||||||
|
|
||||||
|
buttonLightingZoneAll.BackColor = buttonLightingZoneAll.Secondary ? RForm.buttonSecond : RForm.buttonMain;
|
||||||
|
buttonLightingZoneLogo.BackColor = buttonLightingZoneLogo.Secondary ? RForm.buttonSecond : RForm.buttonMain;
|
||||||
|
buttonLightingZoneScroll.BackColor = buttonLightingZoneScroll.Secondary ? RForm.buttonSecond : RForm.buttonMain;
|
||||||
|
buttonLightingZoneUnderglow.BackColor = buttonLightingZoneUnderglow.Secondary ? RForm.buttonSecond : RForm.buttonMain;
|
||||||
|
buttonLightingZoneDock.BackColor = buttonLightingZoneDock.Secondary ? RForm.buttonSecond : RForm.buttonMain;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VisusalizeLightingSettings()
|
||||||
|
{
|
||||||
|
if (!mouse.HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
VisusalizeLightingZones();
|
||||||
|
|
||||||
|
LightingSetting? ls = mouse.LightingSettingForZone(visibleZone);
|
||||||
|
|
||||||
|
if (ls is null)
|
||||||
|
{
|
||||||
|
//Lighting settings not loaded?
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sliderBrightness.Value = ls.Brightness;
|
||||||
|
|
||||||
|
checkBoxRandomColor.Visible = mouse.SupportsRandomColor(ls.LightingMode);
|
||||||
|
|
||||||
|
pictureBoxLightingColor.Visible = mouse.SupportsColorSetting(ls.LightingMode);
|
||||||
|
buttonLightingColor.Visible = mouse.SupportsColorSetting(ls.LightingMode);
|
||||||
|
|
||||||
|
comboBoxAnimationSpeed.Visible = mouse.SupportsAnimationSpeed(ls.LightingMode);
|
||||||
|
labelAnimationSpeed.Visible = mouse.SupportsAnimationSpeed(ls.LightingMode);
|
||||||
|
comboBoxAnimationDirection.Visible = mouse.SupportsAnimationDirection(ls.LightingMode);
|
||||||
|
labelAnimationDirection.Visible = mouse.SupportsAnimationDirection(ls.LightingMode);
|
||||||
|
|
||||||
|
comboBoxLightingMode.SelectedIndex = supportedLightingModes.IndexOf(ls.LightingMode);
|
||||||
|
|
||||||
|
if (mouse.SupportsRandomColor(ls.LightingMode))
|
||||||
|
{
|
||||||
|
checkBoxRandomColor.Checked = ls.RandomColor;
|
||||||
|
buttonLightingColor.Visible = !ls.RandomColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ls.RandomColor && mouse.SupportsRandomColor(ls.LightingMode))
|
||||||
|
pictureBoxLightingColor.BackColor = Color.Transparent;
|
||||||
|
else
|
||||||
|
pictureBoxLightingColor.BackColor = ls.RGBColor;
|
||||||
|
|
||||||
|
//0x09 => 0
|
||||||
|
//0x07 => 1
|
||||||
|
//0x05 => 2
|
||||||
|
comboBoxAnimationSpeed.SelectedIndex = 2 - ((((int)ls.AnimationSpeed) - 5) / 2);
|
||||||
|
comboBoxAnimationDirection.SelectedIndex = (int)ls.AnimationDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void VisualizeDPIButtons()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < mouse.DPIProfileCount() && i < 4; ++i)
|
||||||
|
{
|
||||||
|
AsusMouseDPI dpi = mouse.DpiSettings[i];
|
||||||
|
if (dpi is null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (mouse.HasDPIColors())
|
||||||
|
{
|
||||||
|
dpiButtons[i].Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, dpi.Color);
|
||||||
|
dpiButtons[i].BorderColor = dpi.Color;
|
||||||
|
}
|
||||||
|
dpiButtons[i].Activated = (mouse.DpiProfile - 1) == i;
|
||||||
|
dpiButtons[i].Text = "DPI " + (i + 1) + "\n" + dpi.DPI;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void VisualizeCurrentDPIProfile()
|
||||||
|
{
|
||||||
|
AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1];
|
||||||
|
if (dpi is null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sliderDPI.Value = (int)dpi.DPI;
|
||||||
|
pictureDPIColor.BackColor = dpi.Color;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AsusMouseSettings_Shown(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (Height > Program.settingsForm.Height)
|
||||||
|
{
|
||||||
|
Top = Program.settingsForm.Top + Program.settingsForm.Height - Height;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Top = Program.settingsForm.Top;
|
||||||
|
}
|
||||||
|
|
||||||
|
Left = Program.settingsForm.Left - Width - 5;
|
||||||
|
|
||||||
|
|
||||||
|
mouse.Disconnect += Mouse_Disconnect;
|
||||||
|
mouse.BatteryUpdated += Mouse_BatteryUpdated;
|
||||||
|
mouse.MouseReadyChanged += Mouse_MouseReadyChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonSync_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
RefreshMouseData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
app/AsusMouseSettings.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
461
app/AsusUSB.cs
@@ -1,461 +0,0 @@
|
|||||||
using HidLibrary;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace GHelper
|
|
||||||
{
|
|
||||||
|
|
||||||
[Flags]
|
|
||||||
public enum AuraDev19b6 : uint
|
|
||||||
{
|
|
||||||
BootLogo = 1,
|
|
||||||
BootKeyb = 1 << 1,
|
|
||||||
AwakeLogo = 1 << 2,
|
|
||||||
AwakeKeyb = 1 << 3,
|
|
||||||
SleepLogo = 1 << 4,
|
|
||||||
SleepKeyb = 1 << 5,
|
|
||||||
ShutdownLogo = 1 << 6,
|
|
||||||
ShutdownKeyb = 1 << 7,
|
|
||||||
BootBar = 1u << (7 + 2),
|
|
||||||
AwakeBar = 1u << (7 + 3),
|
|
||||||
SleepBar = 1u << (7 + 4),
|
|
||||||
ShutdownBar = 1u << (7 + 5),
|
|
||||||
BootLid = 1u << (15 + 1),
|
|
||||||
AwakeLid = 1u << (15 + 2),
|
|
||||||
SleepLid = 1u << (15 + 3),
|
|
||||||
ShutdownLid = 1u << (15 + 4)
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class AuraDev19b6Extensions
|
|
||||||
{
|
|
||||||
public static byte[] ToBytes(this AuraDev19b6[] controls)
|
|
||||||
{
|
|
||||||
uint a = 0;
|
|
||||||
foreach (var n in controls)
|
|
||||||
{
|
|
||||||
a |= (uint)n;
|
|
||||||
}
|
|
||||||
return new byte[] { 0x5d, 0xbd, 0x01, (byte)(a & 0xff), (byte)((a & 0xff00) >> 8), (byte)((a & 0xff0000) >> 16) };
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ushort BitOr(this AuraDev19b6 self, AuraDev19b6 rhs)
|
|
||||||
{
|
|
||||||
return (ushort)(self | rhs);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ushort BitAnd(this AuraDev19b6 self, AuraDev19b6 rhs)
|
|
||||||
{
|
|
||||||
return (ushort)(self & rhs);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static class AsusUSB
|
|
||||||
{
|
|
||||||
|
|
||||||
public const int ASUS_ID = 0x0b05;
|
|
||||||
|
|
||||||
public const byte INPUT_HID_ID = 0x5a;
|
|
||||||
public const byte AURA_HID_ID = 0x5d;
|
|
||||||
|
|
||||||
public static readonly byte[] LED_INIT1 = new byte[] { AURA_HID_ID, 0xb9 };
|
|
||||||
public static readonly byte[] LED_INIT2 = Encoding.ASCII.GetBytes("]ASUS Tech.Inc.");
|
|
||||||
public static readonly byte[] LED_INIT3 = new byte[] { AURA_HID_ID, 0x05, 0x20, 0x31, 0, 0x08 };
|
|
||||||
public static readonly byte[] LED_INIT4 = Encoding.ASCII.GetBytes("^ASUS Tech.Inc.");
|
|
||||||
public static readonly byte[] LED_INIT5 = new byte[] { 0x5e, 0x05, 0x20, 0x31, 0, 0x08 };
|
|
||||||
|
|
||||||
static byte[] MESSAGE_SET = { AURA_HID_ID, 0xb5, 0, 0, 0 };
|
|
||||||
static byte[] MESSAGE_APPLY = { AURA_HID_ID, 0xb4 };
|
|
||||||
|
|
||||||
static int[] deviceIds = { 0x1a30, 0x1854, 0x1869, 0x1866, 0x19b6, 0x1822, 0x1837, 0x1854, 0x184a, 0x183d, 0x8502, 0x1807, 0x17e0, 0x18c6, 0x1abe };
|
|
||||||
|
|
||||||
private static int mode = 0;
|
|
||||||
private static int speed = 1;
|
|
||||||
public static Color Color1 = Color.White;
|
|
||||||
public static Color Color2 = Color.Black;
|
|
||||||
|
|
||||||
|
|
||||||
public static Dictionary<int, string> GetSpeeds()
|
|
||||||
{
|
|
||||||
return new Dictionary<int, string>
|
|
||||||
{
|
|
||||||
{ 0, Properties.Strings.AuraSlow },
|
|
||||||
{ 1, Properties.Strings.AuraNormal },
|
|
||||||
{ 2, Properties.Strings.AuraFast }
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static Dictionary<int, string> _modes = new Dictionary<int, string>
|
|
||||||
{
|
|
||||||
{ 0, Properties.Strings.AuraStatic },
|
|
||||||
{ 1, Properties.Strings.AuraBreathe },
|
|
||||||
{ 2, Properties.Strings.AuraColorCycle },
|
|
||||||
{ 3, Properties.Strings.AuraRainbow },
|
|
||||||
{ 10, Properties.Strings.AuraStrobe },
|
|
||||||
};
|
|
||||||
|
|
||||||
static Dictionary<int, string> _modesStrix = new Dictionary<int, string>
|
|
||||||
{
|
|
||||||
{ 0, Properties.Strings.AuraStatic },
|
|
||||||
{ 1, Properties.Strings.AuraBreathe },
|
|
||||||
{ 2, Properties.Strings.AuraColorCycle },
|
|
||||||
{ 3, Properties.Strings.AuraRainbow },
|
|
||||||
{ 4, "Star" },
|
|
||||||
{ 5, "Rain" },
|
|
||||||
{ 6, "Highlight" },
|
|
||||||
{ 7, "Laser" },
|
|
||||||
{ 8, "Ripple" },
|
|
||||||
{ 10, Properties.Strings.AuraStrobe},
|
|
||||||
{ 11, "Comet" },
|
|
||||||
{ 12, "Flash" },
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
public static Dictionary<int, string> GetModes()
|
|
||||||
{
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
|
||||||
{
|
|
||||||
_modes.Remove(3);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("401") || AppConfig.ContainsModel("X13"))
|
|
||||||
{
|
|
||||||
_modes.Remove(2);
|
|
||||||
_modes.Remove(3);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("G513QY"))
|
|
||||||
{
|
|
||||||
return _modes;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("Strix") || AppConfig.ContainsModel("Scar"))
|
|
||||||
{
|
|
||||||
return _modesStrix;
|
|
||||||
}
|
|
||||||
|
|
||||||
return _modes;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static int Mode
|
|
||||||
{
|
|
||||||
get { return mode; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (GetModes().ContainsKey(value))
|
|
||||||
mode = value;
|
|
||||||
else
|
|
||||||
mode = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool HasColor()
|
|
||||||
{
|
|
||||||
return AppConfig.ContainsModel("GA401") || AppConfig.ContainsModel("X13");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool HasSecondColor()
|
|
||||||
{
|
|
||||||
return (mode == 1 && !AppConfig.ContainsModel("TUF"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int Speed
|
|
||||||
{
|
|
||||||
get { return speed; }
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (GetSpeeds().ContainsKey(value))
|
|
||||||
speed = value;
|
|
||||||
else
|
|
||||||
speed = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetColor(int colorCode)
|
|
||||||
{
|
|
||||||
if (colorCode == -1) Color1 = Color.Red;
|
|
||||||
else Color1 = Color.FromArgb(colorCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetColor2(int colorCode)
|
|
||||||
{
|
|
||||||
if (colorCode == -1) Color2 = Color.White;
|
|
||||||
else Color2 = Color.FromArgb(colorCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static IEnumerable<HidDevice> GetHidDevices(int[] deviceIds, int minFeatures = 1)
|
|
||||||
{
|
|
||||||
HidDevice[] HidDeviceList = HidDevices.Enumerate(ASUS_ID, deviceIds).ToArray();
|
|
||||||
foreach (HidDevice device in HidDeviceList)
|
|
||||||
if (device.IsConnected && device.Capabilities.FeatureReportByteLength >= minFeatures)
|
|
||||||
yield return device;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static HidDevice? GetDevice(byte reportID = INPUT_HID_ID)
|
|
||||||
{
|
|
||||||
HidDevice[] HidDeviceList = HidDevices.Enumerate(ASUS_ID, deviceIds).ToArray();
|
|
||||||
HidDevice input = null;
|
|
||||||
|
|
||||||
foreach (HidDevice device in HidDeviceList)
|
|
||||||
if (device.ReadFeatureData(out byte[] data, reportID))
|
|
||||||
{
|
|
||||||
input = device;
|
|
||||||
//Logger.WriteLine("HID Device("+ reportID + ")" + + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.DevicePath);
|
|
||||||
}
|
|
||||||
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool TouchpadToggle()
|
|
||||||
{
|
|
||||||
HidDevice? input = GetDevice();
|
|
||||||
if (input != null) return input.WriteFeatureData(new byte[] { INPUT_HID_ID, 0xf4, 0x6b });
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static byte[] AuraMessage(int mode, Color color, Color color2, int speed)
|
|
||||||
{
|
|
||||||
|
|
||||||
byte[] msg = new byte[17];
|
|
||||||
msg[0] = AURA_HID_ID;
|
|
||||||
msg[1] = 0xb3;
|
|
||||||
msg[2] = 0x00; // Zone
|
|
||||||
msg[3] = (byte)mode; // Aura Mode
|
|
||||||
msg[4] = (byte)(color.R); // R
|
|
||||||
msg[5] = (byte)(color.G); // G
|
|
||||||
msg[6] = (byte)(color.B); // B
|
|
||||||
msg[7] = (byte)speed; // aura.speed as u8;
|
|
||||||
msg[8] = 0; // aura.direction as u8;
|
|
||||||
msg[10] = (byte)(color2.R); // R
|
|
||||||
msg[11] = (byte)(color2.G); // G
|
|
||||||
msg[12] = (byte)(color2.B); // B
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Init()
|
|
||||||
{
|
|
||||||
Task.Run(async () =>
|
|
||||||
{
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
device.WriteFeatureData(LED_INIT1);
|
|
||||||
device.WriteFeatureData(LED_INIT2);
|
|
||||||
device.WriteFeatureData(LED_INIT3);
|
|
||||||
device.WriteFeatureData(LED_INIT4);
|
|
||||||
device.WriteFeatureData(LED_INIT5);
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyBrightness(int brightness, string log = "Backlight")
|
|
||||||
{
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
|
||||||
Program.acpi.TUFKeyboardBrightness(brightness);
|
|
||||||
|
|
||||||
|
|
||||||
Task.Run(async () =>
|
|
||||||
{
|
|
||||||
|
|
||||||
byte[] msg = { AURA_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
|
|
||||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
|
||||||
{
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
Logger.WriteLine(log + ":" + BitConverter.ToString(msg));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("GA503") && device.ReadFeatureData(out byte[] dataBackkup, INPUT_HID_ID))
|
|
||||||
{
|
|
||||||
device.WriteFeatureData(msgBackup);
|
|
||||||
Logger.WriteLine(log + ":" + BitConverter.ToString(msgBackup));
|
|
||||||
}
|
|
||||||
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Backup payload for old models
|
|
||||||
/*
|
|
||||||
if (AppConfig.ContainsModel("GA503RW"))
|
|
||||||
{
|
|
||||||
byte[] msgBackup = { INPUT_HID_ID, 0xba, 0xc5, 0xc4, (byte)brightness };
|
|
||||||
|
|
||||||
var devicesBackup = GetHidDevices(deviceIds);
|
|
||||||
foreach (HidDevice device in devicesBackup)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
device.WriteFeatureData(msgBackup);
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyAuraPower()
|
|
||||||
{
|
|
||||||
|
|
||||||
List<AuraDev19b6> flags = new();
|
|
||||||
|
|
||||||
// Keyboard
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake")) flags.Add(AuraDev19b6.AwakeKeyb);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot")) flags.Add(AuraDev19b6.BootKeyb);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep")) flags.Add(AuraDev19b6.SleepKeyb);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown")) flags.Add(AuraDev19b6.ShutdownKeyb);
|
|
||||||
|
|
||||||
// Lightbar
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_bar")) flags.Add(AuraDev19b6.AwakeBar);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_bar")) flags.Add(AuraDev19b6.BootBar);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_bar")) flags.Add(AuraDev19b6.SleepBar);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_bar")) flags.Add(AuraDev19b6.ShutdownBar);
|
|
||||||
|
|
||||||
// Lid
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_lid")) flags.Add(AuraDev19b6.AwakeLid);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_lid")) flags.Add(AuraDev19b6.BootLid);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_lid")) flags.Add(AuraDev19b6.SleepLid);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_lid")) flags.Add(AuraDev19b6.ShutdownLid);
|
|
||||||
|
|
||||||
// Logo
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_logo")) flags.Add(AuraDev19b6.AwakeLogo);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_logo")) flags.Add(AuraDev19b6.BootLogo);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_logo")) flags.Add(AuraDev19b6.SleepLogo);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_logo")) flags.Add(AuraDev19b6.ShutdownLogo);
|
|
||||||
|
|
||||||
|
|
||||||
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
|
|
||||||
|
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
|
||||||
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
|
||||||
{
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
Logger.WriteLine("USB-KB " + device.Attributes.ProductHexId + ":" + BitConverter.ToString(msg));
|
|
||||||
}
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
|
||||||
Program.acpi.TUFKeyboardPower(
|
|
||||||
flags.Contains(AuraDev19b6.AwakeKeyb),
|
|
||||||
flags.Contains(AuraDev19b6.BootKeyb),
|
|
||||||
flags.Contains(AuraDev19b6.SleepKeyb),
|
|
||||||
flags.Contains(AuraDev19b6.ShutdownKeyb));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void ApplyAura()
|
|
||||||
{
|
|
||||||
|
|
||||||
Mode = AppConfig.Get("aura_mode");
|
|
||||||
Speed = AppConfig.Get("aura_speed");
|
|
||||||
SetColor(AppConfig.Get("aura_color"));
|
|
||||||
SetColor2(AppConfig.Get("aura_color2"));
|
|
||||||
|
|
||||||
int _speed;
|
|
||||||
|
|
||||||
switch (Speed)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
_speed = 0xeb;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
_speed = 0xf5;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
_speed = 0xe1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
byte[] msg = AuraMessage(Mode, Color1, Color2, _speed);
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
|
||||||
|
|
||||||
foreach (HidDevice device in devices)
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
if (device.ReadFeatureData(out byte[] data, AURA_HID_ID))
|
|
||||||
{
|
|
||||||
device.WriteFeatureData(msg);
|
|
||||||
device.WriteFeatureData(MESSAGE_SET);
|
|
||||||
device.WriteFeatureData(MESSAGE_APPLY);
|
|
||||||
Logger.WriteLine("USB-KB " + device.Capabilities.FeatureReportByteLength + "|" + device.Capabilities.InputReportByteLength + device.Description + device.DevicePath + ":" + BitConverter.ToString(msg));
|
|
||||||
}
|
|
||||||
device.CloseDevice();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("TUF"))
|
|
||||||
Program.acpi.TUFKeyboardRGB(Mode, Color1, _speed);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Reference : thanks to https://github.com/RomanYazvinsky/ for initial discovery of XGM payloads
|
|
||||||
public static int SetXGM(byte[] msg)
|
|
||||||
{
|
|
||||||
|
|
||||||
//Logger.WriteLine("XGM Payload :" + BitConverter.ToString(msg));
|
|
||||||
|
|
||||||
var payload = new byte[300];
|
|
||||||
Array.Copy(msg, payload, msg.Length);
|
|
||||||
|
|
||||||
foreach (HidDevice device in GetHidDevices(new int[] { 0x1970 }, 300))
|
|
||||||
{
|
|
||||||
device.OpenDevice();
|
|
||||||
Logger.WriteLine("XGM " + device.Attributes.ProductHexId + "|" + device.Capabilities.FeatureReportByteLength + ":" + BitConverter.ToString(msg));
|
|
||||||
device.WriteFeatureData(payload);
|
|
||||||
device.CloseDevice();
|
|
||||||
//return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void ApplyXGMLight(bool status)
|
|
||||||
{
|
|
||||||
SetXGM(new byte[] { 0x5e, 0xc5, status ? (byte)0x50 : (byte)0 });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static int ResetXGM()
|
|
||||||
{
|
|
||||||
return SetXGM(new byte[] { 0x5e, 0xd1, 0x02 });
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int SetXGMFan(byte[] curve)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (AsusACPI.IsInvalidCurve(curve)) return -1;
|
|
||||||
|
|
||||||
byte[] msg = new byte[19];
|
|
||||||
Array.Copy(new byte[] { 0x5e, 0xd1, 0x01 }, msg, 3);
|
|
||||||
Array.Copy(curve, 0, msg, 3, curve.Length);
|
|
||||||
|
|
||||||
return SetXGM(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -16,7 +16,8 @@ namespace GHelper.AutoUpdate
|
|||||||
public AutoUpdateControl(SettingsForm settingsForm)
|
public AutoUpdateControl(SettingsForm settingsForm)
|
||||||
{
|
{
|
||||||
settings = settingsForm;
|
settings = settingsForm;
|
||||||
settings.SetVersionLabel(Properties.Strings.VersionLabel + ": " + Assembly.GetExecutingAssembly().GetName().Version);
|
var appVersion = new Version(Assembly.GetExecutingAssembly().GetName().Version.ToString());
|
||||||
|
settings.SetVersionLabel(Properties.Strings.VersionLabel + $": {appVersion.Major}.{appVersion.Minor}.{appVersion.Build}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CheckForUpdates()
|
public void CheckForUpdates()
|
||||||
@@ -40,6 +41,8 @@ namespace GHelper.AutoUpdate
|
|||||||
async void CheckForUpdatesAsync()
|
async void CheckForUpdatesAsync()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (AppConfig.Is("skip_updates")) return;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -1,32 +1,45 @@
|
|||||||
using GHelper.Helpers;
|
namespace GHelper.Battery
|
||||||
using System.Diagnostics;
|
|
||||||
|
|
||||||
namespace GHelper.Battery
|
|
||||||
{
|
{
|
||||||
internal class BatteryControl
|
internal class BatteryControl
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public static void ToggleBatteryLimitFull()
|
||||||
|
{
|
||||||
|
if (AppConfig.Is("charge_full")) SetBatteryChargeLimit();
|
||||||
|
else SetBatteryLimitFull();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetBatteryLimitFull()
|
||||||
|
{
|
||||||
|
AppConfig.Set("charge_full", 1);
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, 100, "BatteryLimit");
|
||||||
|
Program.settingsForm.VisualiseBatteryFull();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UnSetBatteryLimitFull()
|
||||||
|
{
|
||||||
|
AppConfig.Set("charge_full", 0);
|
||||||
|
Program.settingsForm.VisualiseBatteryFull();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AutoBattery(bool init = false)
|
||||||
|
{
|
||||||
|
if (AppConfig.Is("charge_full") && !init) SetBatteryLimitFull();
|
||||||
|
else SetBatteryChargeLimit();
|
||||||
|
}
|
||||||
|
|
||||||
public static void SetBatteryChargeLimit(int limit = -1)
|
public static void SetBatteryChargeLimit(int limit = -1)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (limit < 0) limit = AppConfig.Get("charge_limit");
|
if (limit < 0) limit = AppConfig.Get("charge_limit");
|
||||||
if (limit < 40 || limit > 100) return;
|
if (limit < 40 || limit > 100) return;
|
||||||
|
|
||||||
Program.settingsForm.VisualiseBattery(limit);
|
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
|
Program.acpi.DeviceSet(AsusACPI.BatteryLimit, limit, "BatteryLimit");
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
OptimizationService.SetChargeLimit(limit);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.WriteLine(ex);
|
|
||||||
}
|
|
||||||
|
|
||||||
AppConfig.Set("charge_limit", limit);
|
AppConfig.Set("charge_limit", limit);
|
||||||
|
AppConfig.Set("charge_full", 0);
|
||||||
|
|
||||||
|
Program.settingsForm.VisualiseBattery(limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
388
app/Display/ScreenCCD.cs
Normal file
@@ -0,0 +1,388 @@
|
|||||||
|
using System.ComponentModel;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
namespace GHelper.Display
|
||||||
|
{
|
||||||
|
public class ScreenCCD
|
||||||
|
{
|
||||||
|
|
||||||
|
public static bool GetHDRStatus()
|
||||||
|
{
|
||||||
|
var err = GetDisplayConfigBufferSizes(QDC.QDC_ONLY_ACTIVE_PATHS, out var pathCount, out var modeCount);
|
||||||
|
if (err != 0)
|
||||||
|
throw new Win32Exception(err);
|
||||||
|
|
||||||
|
var paths = new DISPLAYCONFIG_PATH_INFO[pathCount];
|
||||||
|
var modes = new DISPLAYCONFIG_MODE_INFO[modeCount];
|
||||||
|
err = QueryDisplayConfig(QDC.QDC_ONLY_ACTIVE_PATHS, ref pathCount, paths, ref modeCount, modes, IntPtr.Zero);
|
||||||
|
if (err != 0)
|
||||||
|
throw new Win32Exception(err);
|
||||||
|
|
||||||
|
string internalName = AppConfig.GetString("internal_display");
|
||||||
|
|
||||||
|
foreach (var path in paths)
|
||||||
|
{
|
||||||
|
// get display name
|
||||||
|
var info = new DISPLAYCONFIG_TARGET_DEVICE_NAME();
|
||||||
|
info.header.type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME;
|
||||||
|
info.header.size = Marshal.SizeOf<DISPLAYCONFIG_TARGET_DEVICE_NAME>();
|
||||||
|
info.header.adapterId = path.targetInfo.adapterId;
|
||||||
|
info.header.id = path.targetInfo.id;
|
||||||
|
err = DisplayConfigGetDeviceInfo(ref info);
|
||||||
|
if (err != 0)
|
||||||
|
throw new Win32Exception(err);
|
||||||
|
|
||||||
|
var colorInfo = new DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO();
|
||||||
|
colorInfo.header.type = DISPLAYCONFIG_DEVICE_INFO_TYPE.DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO;
|
||||||
|
colorInfo.header.size = Marshal.SizeOf<DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>();
|
||||||
|
colorInfo.header.adapterId = path.targetInfo.adapterId;
|
||||||
|
colorInfo.header.id = path.targetInfo.id;
|
||||||
|
err = DisplayConfigGetDeviceInfo(ref colorInfo);
|
||||||
|
if (err != 0)
|
||||||
|
throw new Win32Exception(err);
|
||||||
|
|
||||||
|
|
||||||
|
if (info.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL ||
|
||||||
|
info.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED ||
|
||||||
|
info.monitorFriendlyDeviceName == internalName)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(info.monitorFriendlyDeviceName + " HDR: " + colorInfo.advancedColorEnabled);
|
||||||
|
return colorInfo.advancedColorEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_DEVICE_INFO_TYPE
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10,
|
||||||
|
DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_COLOR_ENCODING
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_COLOR_ENCODING_RGB = 0,
|
||||||
|
DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1,
|
||||||
|
DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2,
|
||||||
|
DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3,
|
||||||
|
DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_SCALING
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_SCALING_IDENTITY = 1,
|
||||||
|
DISPLAYCONFIG_SCALING_CENTERED = 2,
|
||||||
|
DISPLAYCONFIG_SCALING_STRETCHED = 3,
|
||||||
|
DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4,
|
||||||
|
DISPLAYCONFIG_SCALING_CUSTOM = 5,
|
||||||
|
DISPLAYCONFIG_SCALING_PREFERRED = 128,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_ROTATION
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_ROTATION_IDENTITY = 1,
|
||||||
|
DISPLAYCONFIG_ROTATION_ROTATE90 = 2,
|
||||||
|
DISPLAYCONFIG_ROTATION_ROTATE180 = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = 17,
|
||||||
|
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = unchecked((int)0x80000000),
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_TOPOLOGY_ID
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001,
|
||||||
|
DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002,
|
||||||
|
DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004,
|
||||||
|
DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_PATH
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_PATH_ACTIVE = 0x00000001,
|
||||||
|
DISPLAYCONFIG_PATH_PREFERRED_UNSCALED = 0x00000004,
|
||||||
|
DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE = 0x00000008,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_SOURCE_FLAGS
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_SOURCE_IN_USE = 0x00000001,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_TARGET_FLAGS
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_TARGET_IN_USE = 0x00000001,
|
||||||
|
DISPLAYCONFIG_TARGET_FORCIBLE = 0x00000002,
|
||||||
|
DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT = 0x00000004,
|
||||||
|
DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH = 0x00000008,
|
||||||
|
DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM = 0x00000010,
|
||||||
|
DISPLAYCONFIG_TARGET_IS_HMD = 0x00000020,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum QDC
|
||||||
|
{
|
||||||
|
QDC_ALL_PATHS = 0x00000001,
|
||||||
|
QDC_ONLY_ACTIVE_PATHS = 0x00000002,
|
||||||
|
QDC_DATABASE_CURRENT = 0x00000004,
|
||||||
|
QDC_VIRTUAL_MODE_AWARE = 0x00000010,
|
||||||
|
QDC_INCLUDE_HMD = 0x00000020,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_SCANLINE_ORDERING
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0,
|
||||||
|
DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1,
|
||||||
|
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2,
|
||||||
|
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED,
|
||||||
|
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_PIXELFORMAT
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_PIXELFORMAT_8BPP = 1,
|
||||||
|
DISPLAYCONFIG_PIXELFORMAT_16BPP = 2,
|
||||||
|
DISPLAYCONFIG_PIXELFORMAT_24BPP = 3,
|
||||||
|
DISPLAYCONFIG_PIXELFORMAT_32BPP = 4,
|
||||||
|
DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
private enum DISPLAYCONFIG_MODE_INFO_TYPE
|
||||||
|
{
|
||||||
|
DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1,
|
||||||
|
DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2,
|
||||||
|
DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_DEVICE_INFO_HEADER
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_DEVICE_INFO_TYPE type;
|
||||||
|
public int size;
|
||||||
|
public LUID adapterId;
|
||||||
|
public uint id;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_DEVICE_INFO_HEADER header;
|
||||||
|
public uint value;
|
||||||
|
public DISPLAYCONFIG_COLOR_ENCODING colorEncoding;
|
||||||
|
public int bitsPerColorChannel;
|
||||||
|
|
||||||
|
public bool advancedColorSupported => (value & 0x1) == 0x1;
|
||||||
|
public bool advancedColorEnabled => (value & 0x2) == 0x2;
|
||||||
|
public bool wideColorEnforced => (value & 0x4) == 0x4;
|
||||||
|
public bool advancedColorForceDisabled => (value & 0x8) == 0x8;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct POINTL
|
||||||
|
{
|
||||||
|
public int x;
|
||||||
|
public int y;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct LUID
|
||||||
|
{
|
||||||
|
public uint LowPart;
|
||||||
|
public int HighPart;
|
||||||
|
|
||||||
|
public long Value => ((long)HighPart << 32) | LowPart;
|
||||||
|
public override string ToString() => Value.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_SOURCE_MODE
|
||||||
|
{
|
||||||
|
public uint width;
|
||||||
|
public uint height;
|
||||||
|
public DISPLAYCONFIG_PIXELFORMAT pixelFormat;
|
||||||
|
public POINTL position;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_RATIONAL
|
||||||
|
{
|
||||||
|
public uint Numerator;
|
||||||
|
public uint Denominator;
|
||||||
|
|
||||||
|
public override string ToString() => Numerator + " / " + Denominator;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_2DREGION
|
||||||
|
{
|
||||||
|
public uint cx;
|
||||||
|
public uint cy;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO
|
||||||
|
{
|
||||||
|
public POINTL PathSourceSize;
|
||||||
|
public RECT DesktopImageRegion;
|
||||||
|
public RECT DesktopImageClip;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO
|
||||||
|
{
|
||||||
|
public ulong pixelRate;
|
||||||
|
public DISPLAYCONFIG_RATIONAL hSyncFreq;
|
||||||
|
public DISPLAYCONFIG_RATIONAL vSyncFreq;
|
||||||
|
public DISPLAYCONFIG_2DREGION activeSize;
|
||||||
|
public DISPLAYCONFIG_2DREGION totalSize;
|
||||||
|
public uint videoStandard;
|
||||||
|
public DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_TARGET_MODE
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Explicit)]
|
||||||
|
private struct DISPLAYCONFIG_MODE_INFO_union
|
||||||
|
{
|
||||||
|
[FieldOffset(0)]
|
||||||
|
public DISPLAYCONFIG_TARGET_MODE targetMode;
|
||||||
|
|
||||||
|
[FieldOffset(0)]
|
||||||
|
public DISPLAYCONFIG_SOURCE_MODE sourceMode;
|
||||||
|
|
||||||
|
[FieldOffset(0)]
|
||||||
|
public DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_PATH_SOURCE_INFO
|
||||||
|
{
|
||||||
|
public LUID adapterId;
|
||||||
|
public uint id;
|
||||||
|
public uint modeInfoIdx;
|
||||||
|
public DISPLAYCONFIG_SOURCE_FLAGS statusFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_PATH_TARGET_INFO
|
||||||
|
{
|
||||||
|
public LUID adapterId;
|
||||||
|
public uint id;
|
||||||
|
public uint modeInfoIdx;
|
||||||
|
public DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
|
||||||
|
public DISPLAYCONFIG_ROTATION rotation;
|
||||||
|
public DISPLAYCONFIG_SCALING scaling;
|
||||||
|
public DISPLAYCONFIG_RATIONAL refreshRate;
|
||||||
|
public DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
|
||||||
|
public bool targetAvailable;
|
||||||
|
public DISPLAYCONFIG_TARGET_FLAGS statusFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_PATH_INFO
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo;
|
||||||
|
public DISPLAYCONFIG_PATH_TARGET_INFO targetInfo;
|
||||||
|
public DISPLAYCONFIG_PATH flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct DISPLAYCONFIG_MODE_INFO
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_MODE_INFO_TYPE infoType;
|
||||||
|
public uint id;
|
||||||
|
public LUID adapterId;
|
||||||
|
public DISPLAYCONFIG_MODE_INFO_union info;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||||
|
private struct DISPLAYCONFIG_SOURCE_DEVICE_NAME
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_DEVICE_INFO_HEADER header;
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
|
||||||
|
public string viewGdiDeviceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||||
|
private struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS
|
||||||
|
{
|
||||||
|
public uint value;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||||
|
private struct DISPLAYCONFIG_TARGET_DEVICE_NAME
|
||||||
|
{
|
||||||
|
public DISPLAYCONFIG_DEVICE_INFO_HEADER header;
|
||||||
|
public DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags;
|
||||||
|
public DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
|
||||||
|
public ushort edidManufactureId;
|
||||||
|
public ushort edidProductCodeId;
|
||||||
|
public uint connectorInstance;
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
|
||||||
|
public string monitorFriendlyDeviceName;
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||||
|
public string monitorDevicePat;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
private struct RECT
|
||||||
|
{
|
||||||
|
public int left;
|
||||||
|
public int top;
|
||||||
|
public int right;
|
||||||
|
public int bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int GetDisplayConfigBufferSizes(QDC flags, out int numPathArrayElements, out int numModeInfoArrayElements);
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int QueryDisplayConfig(QDC flags, ref int numPathArrayElements, [In, Out] DISPLAYCONFIG_PATH_INFO[] pathArray, ref int numModeInfoArrayElements, [In, Out] DISPLAYCONFIG_MODE_INFO[] modeInfoArray, out DISPLAYCONFIG_TOPOLOGY_ID currentTopologyId);
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int QueryDisplayConfig(QDC flags, ref int numPathArrayElements, [In, Out] DISPLAYCONFIG_PATH_INFO[] pathArray, ref int numModeInfoArrayElements, [In, Out] DISPLAYCONFIG_MODE_INFO[] modeInfoArray, IntPtr currentTopologyId);
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int DisplayConfigGetDeviceInfo(ref DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO requestPacket);
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int DisplayConfigGetDeviceInfo(ref DISPLAYCONFIG_SOURCE_DEVICE_NAME requestPacket);
|
||||||
|
|
||||||
|
[DllImport("user32")]
|
||||||
|
private static extern int DisplayConfigGetDeviceInfo(ref DISPLAYCONFIG_TARGET_DEVICE_NAME requestPacket);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -59,7 +59,7 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
public void ToogleMiniled()
|
public void ToogleMiniled()
|
||||||
{
|
{
|
||||||
int miniled = (AppConfig.Get("miniled") == 1) ? 0 : 1;
|
int miniled = (Program.acpi.DeviceGet(AsusACPI.ScreenMiniled) == 1) ? 0 : 1;
|
||||||
AppConfig.Set("miniled", miniled);
|
AppConfig.Set("miniled", miniled);
|
||||||
SetScreen(-1, -1, miniled);
|
SetScreen(-1, -1, miniled);
|
||||||
}
|
}
|
||||||
@@ -77,8 +77,13 @@ namespace GHelper.Display
|
|||||||
int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
|
int overdrive = Program.acpi.DeviceGet(AsusACPI.ScreenOverdrive);
|
||||||
int miniled = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled);
|
int miniled = Program.acpi.DeviceGet(AsusACPI.ScreenMiniled);
|
||||||
|
|
||||||
|
bool hdr = false;
|
||||||
|
|
||||||
if (miniled >= 0)
|
if (miniled >= 0)
|
||||||
|
{
|
||||||
AppConfig.Set("miniled", miniled);
|
AppConfig.Set("miniled", miniled);
|
||||||
|
hdr = ScreenCCD.GetHDRStatus();
|
||||||
|
}
|
||||||
|
|
||||||
bool screenEnabled = (frequency >= 0);
|
bool screenEnabled = (frequency >= 0);
|
||||||
|
|
||||||
@@ -94,7 +99,8 @@ namespace GHelper.Display
|
|||||||
maxFrequency: maxFrequency,
|
maxFrequency: maxFrequency,
|
||||||
overdrive: overdrive,
|
overdrive: overdrive,
|
||||||
overdriveSetting: overdriveSetting,
|
overdriveSetting: overdriveSetting,
|
||||||
miniled: miniled
|
miniled: miniled,
|
||||||
|
hdr: hdr
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using System.ComponentModel;
|
using GHelper.Helpers;
|
||||||
|
using NvAPIWrapper.Display;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
namespace GHelper.Display
|
namespace GHelper.Display
|
||||||
@@ -259,6 +261,49 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum DisplayDeviceStates : int
|
||||||
|
{
|
||||||
|
ATTACHED_TO_DESKTOP = 0x01,
|
||||||
|
PRIMARY_DEVICE = 0x04,
|
||||||
|
MIRRORING_DRIVER = 0x08,
|
||||||
|
VGA_COMPATIBLE = 0x10,
|
||||||
|
REMOVABLE = 0x20,
|
||||||
|
DISCONNECTED = 0x2000000,
|
||||||
|
REMOTE = 0x4000000,
|
||||||
|
MODESPRUNED = 0x8000000
|
||||||
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
||||||
|
public struct DISPLAY_DEVICE
|
||||||
|
{
|
||||||
|
public int cb;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
|
||||||
|
public string DeviceName;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||||
|
public string DeviceString;
|
||||||
|
|
||||||
|
public DisplayDeviceStates StateFlags;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||||
|
public string DeviceID;
|
||||||
|
|
||||||
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)]
|
||||||
|
public string DeviceKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[DllImport(nameof(User32), CharSet = CharSet.Unicode, SetLastError = true)]
|
||||||
|
public static extern bool EnumDisplayDevices(
|
||||||
|
string? lpDevice,
|
||||||
|
uint iDevNum,
|
||||||
|
ref DISPLAY_DEVICE lpDisplayDevice,
|
||||||
|
uint dwFlags);
|
||||||
|
|
||||||
|
|
||||||
private static DISPLAYCONFIG_TARGET_DEVICE_NAME DeviceName(LUID adapterId, uint targetId)
|
private static DISPLAYCONFIG_TARGET_DEVICE_NAME DeviceName(LUID adapterId, uint targetId)
|
||||||
{
|
{
|
||||||
var deviceName = new DISPLAYCONFIG_TARGET_DEVICE_NAME
|
var deviceName = new DISPLAYCONFIG_TARGET_DEVICE_NAME
|
||||||
@@ -298,6 +343,33 @@ namespace GHelper.Display
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static IEnumerable<DISPLAY_DEVICE> GetDisplayDevices()
|
||||||
|
{
|
||||||
|
|
||||||
|
var displayAdapter = new DISPLAY_DEVICE();
|
||||||
|
displayAdapter.cb = Marshal.SizeOf<DISPLAY_DEVICE>();
|
||||||
|
|
||||||
|
var displayAdapterNumber = default(uint);
|
||||||
|
while (EnumDisplayDevices(null, displayAdapterNumber, ref displayAdapter, 1))
|
||||||
|
{
|
||||||
|
var displayMonitor = new DISPLAY_DEVICE();
|
||||||
|
displayMonitor.cb = Marshal.SizeOf<DISPLAY_DEVICE>();
|
||||||
|
|
||||||
|
var displayMonitorNumber = default(uint);
|
||||||
|
while (EnumDisplayDevices(displayAdapter.DeviceName, displayMonitorNumber, ref displayMonitor, 1))
|
||||||
|
{
|
||||||
|
var isAttached = (displayMonitor.StateFlags & DisplayDeviceStates.ATTACHED_TO_DESKTOP) == DisplayDeviceStates.ATTACHED_TO_DESKTOP;
|
||||||
|
var isMirroring = (displayMonitor.StateFlags & DisplayDeviceStates.MIRRORING_DRIVER) == DisplayDeviceStates.MIRRORING_DRIVER;
|
||||||
|
if (isAttached && !isMirroring) yield return displayMonitor;
|
||||||
|
displayMonitorNumber++;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
displayAdapterNumber++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,35 @@
|
|||||||
using System.Runtime.InteropServices;
|
using System.Collections;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using static GHelper.Display.ScreenInterrogatory;
|
using static GHelper.Display.ScreenInterrogatory;
|
||||||
|
|
||||||
namespace GHelper.Display
|
namespace GHelper.Display
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class DeviceComparer : IComparer
|
||||||
|
{
|
||||||
|
public int Compare(object x, object y)
|
||||||
|
{
|
||||||
|
uint displayX = ((DISPLAYCONFIG_TARGET_DEVICE_NAME)x).connectorInstance;
|
||||||
|
uint displayY = ((DISPLAYCONFIG_TARGET_DEVICE_NAME)y).connectorInstance;
|
||||||
|
|
||||||
|
if (displayX > displayY)
|
||||||
|
return 1;
|
||||||
|
if (displayX < displayY)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ScreenComparer : IComparer
|
||||||
|
{
|
||||||
|
public int Compare(object x, object y)
|
||||||
|
{
|
||||||
|
int displayX = Int32.Parse(((Screen)x).DeviceName.Replace(@"\\.\DISPLAY", ""));
|
||||||
|
int displayY = Int32.Parse(((Screen)y).DeviceName.Replace(@"\\.\DISPLAY", ""));
|
||||||
|
return (new CaseInsensitiveComparer()).Compare(displayX, displayY);
|
||||||
|
}
|
||||||
|
}
|
||||||
internal class ScreenNative
|
internal class ScreenNative
|
||||||
{
|
{
|
||||||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
|
||||||
@@ -118,37 +145,12 @@ namespace GHelper.Display
|
|||||||
public const int ENUM_CURRENT_SETTINGS = -1;
|
public const int ENUM_CURRENT_SETTINGS = -1;
|
||||||
public const string defaultDevice = @"\\.\DISPLAY1";
|
public const string defaultDevice = @"\\.\DISPLAY1";
|
||||||
|
|
||||||
static bool? _ultimate = null;
|
|
||||||
|
|
||||||
static bool isUltimate
|
private static string? FindInternalName(bool log = false)
|
||||||
{
|
{
|
||||||
get
|
|
||||||
{
|
|
||||||
if (_ultimate is null) _ultimate = (Program.acpi.DeviceGet(AsusACPI.GPUMux) == 0);
|
|
||||||
return (bool)_ultimate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string? FindLaptopScreen(bool log = false)
|
|
||||||
{
|
|
||||||
string? laptopScreen = null;
|
|
||||||
var screens = Screen.AllScreens;
|
|
||||||
|
|
||||||
if (!isUltimate)
|
|
||||||
{
|
|
||||||
foreach (var screen in screens )
|
|
||||||
{
|
|
||||||
if (log) Logger.WriteLine(screen.DeviceName);
|
|
||||||
if (screen.DeviceName == defaultDevice) return defaultDevice;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var devices = GetAllDevices().ToArray();
|
var devices = GetAllDevices().ToArray();
|
||||||
|
|
||||||
int count = 0, displayNum = -1;
|
|
||||||
|
|
||||||
string internalName = AppConfig.GetString("internal_display");
|
string internalName = AppConfig.GetString("internal_display");
|
||||||
|
|
||||||
foreach (var device in devices)
|
foreach (var device in devices)
|
||||||
@@ -157,29 +159,71 @@ namespace GHelper.Display
|
|||||||
device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED ||
|
device.outputTechnology == DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED ||
|
||||||
device.monitorFriendlyDeviceName == internalName)
|
device.monitorFriendlyDeviceName == internalName)
|
||||||
{
|
{
|
||||||
displayNum = count;
|
if (log) Logger.WriteLine(device.monitorDevicePath + " " + device.outputTechnology);
|
||||||
|
|
||||||
AppConfig.Set("internal_display", device.monitorFriendlyDeviceName);
|
AppConfig.Set("internal_display", device.monitorFriendlyDeviceName);
|
||||||
|
var names = device.monitorDevicePath.Split("#");
|
||||||
|
|
||||||
|
if (names.Length > 1) return names[1];
|
||||||
|
else return "";
|
||||||
}
|
}
|
||||||
if (log) Logger.WriteLine(device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString() + ": " + ((count < screens.Length) ? screens[count].DeviceName : ""));
|
|
||||||
count++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
count = 0;
|
|
||||||
foreach (var screen in screens)
|
|
||||||
{
|
|
||||||
if (count == displayNum) laptopScreen = screen.DeviceName;
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (displayNum > 0 && count == 0) laptopScreen = defaultDevice;
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine(ex.ToString());
|
Logger.WriteLine(ex.ToString());
|
||||||
Logger.WriteLine("Can't detect internal screen");
|
|
||||||
laptopScreen = Screen.PrimaryScreen.DeviceName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static string ExtractDisplay(string input)
|
||||||
|
{
|
||||||
|
int index = input.IndexOf('\\', 4); // Start searching from index 4 to skip ""
|
||||||
|
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
string extracted = input.Substring(0, index);
|
||||||
|
return extracted;
|
||||||
|
}
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string? FindLaptopScreen(bool log = false)
|
||||||
|
{
|
||||||
|
string? laptopScreen = null;
|
||||||
|
string? internalName = FindInternalName(log);
|
||||||
|
|
||||||
|
if (internalName == null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Internal screen off");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var displays = GetDisplayDevices().ToArray();
|
||||||
|
foreach (var display in displays)
|
||||||
|
{
|
||||||
|
if (log) Logger.WriteLine(display.DeviceID + " " + display.DeviceName);
|
||||||
|
if (display.DeviceID.Contains(internalName))
|
||||||
|
{
|
||||||
|
laptopScreen = ExtractDisplay(display.DeviceName);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (laptopScreen is null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Default internal screen");
|
||||||
|
laptopScreen = Screen.PrimaryScreen.DeviceName;
|
||||||
|
}
|
||||||
|
|
||||||
return laptopScreen;
|
return laptopScreen;
|
||||||
}
|
}
|
||||||
@@ -232,15 +276,6 @@ namespace GHelper.Display
|
|||||||
dm.dmDisplayFrequency = frequency;
|
dm.dmDisplayFrequency = frequency;
|
||||||
int iRet = ChangeDisplaySettingsEx(laptopScreen, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
|
int iRet = ChangeDisplaySettingsEx(laptopScreen, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
|
||||||
Logger.WriteLine("Screen = " + frequency.ToString() + "Hz : " + (iRet == 0 ? "OK" : iRet));
|
Logger.WriteLine("Screen = " + frequency.ToString() + "Hz : " + (iRet == 0 ? "OK" : iRet));
|
||||||
|
|
||||||
//Fallback scenario
|
|
||||||
if (iRet != 0)
|
|
||||||
{
|
|
||||||
Thread.Sleep(1000);
|
|
||||||
iRet = ChangeDisplaySettingsEx(laptopScreen, ref dm, IntPtr.Zero, DisplaySettingsFlags.CDS_UPDATEREGISTRY, IntPtr.Zero);
|
|
||||||
Logger.WriteLine("Screen = " + frequency.ToString() + "Hz : " + (iRet == 0 ? "OK" : iRet));
|
|
||||||
}
|
|
||||||
|
|
||||||
return iRet;
|
return iRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
489
app/Extra.Designer.cs
generated
@@ -31,6 +31,7 @@ namespace GHelper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
panelServices = new Panel();
|
panelServices = new Panel();
|
||||||
pictureService = new PictureBox();
|
pictureService = new PictureBox();
|
||||||
labelServices = new Label();
|
labelServices = new Label();
|
||||||
@@ -41,8 +42,11 @@ namespace GHelper
|
|||||||
labelBindings = new Label();
|
labelBindings = new Label();
|
||||||
panelBindings = new Panel();
|
panelBindings = new Panel();
|
||||||
tableBindings = new TableLayoutPanel();
|
tableBindings = new TableLayoutPanel();
|
||||||
label1 = new Label();
|
labelFNE = new Label();
|
||||||
textBox1 = new TextBox();
|
comboFNE = new RComboBox();
|
||||||
|
textFNE = new TextBox();
|
||||||
|
labelFNC = new Label();
|
||||||
|
textM2 = new TextBox();
|
||||||
textM1 = new TextBox();
|
textM1 = new TextBox();
|
||||||
comboM1 = new RComboBox();
|
comboM1 = new RComboBox();
|
||||||
labelM1 = new Label();
|
labelM1 = new Label();
|
||||||
@@ -60,8 +64,6 @@ namespace GHelper
|
|||||||
comboFNC = new RComboBox();
|
comboFNC = new RComboBox();
|
||||||
textFNC = new TextBox();
|
textFNC = new TextBox();
|
||||||
tableKeys = new TableLayoutPanel();
|
tableKeys = new TableLayoutPanel();
|
||||||
labelFNC = new Label();
|
|
||||||
textM2 = new TextBox();
|
|
||||||
panelBacklightHeader = new Panel();
|
panelBacklightHeader = new Panel();
|
||||||
sliderBrightness = new Slider();
|
sliderBrightness = new Slider();
|
||||||
pictureBacklight = new PictureBox();
|
pictureBacklight = new PictureBox();
|
||||||
@@ -102,13 +104,18 @@ namespace GHelper
|
|||||||
labelSettings = new Label();
|
labelSettings = new Label();
|
||||||
panelSettings = new Panel();
|
panelSettings = new Panel();
|
||||||
checkAutoToggleClamshellMode = new CheckBox();
|
checkAutoToggleClamshellMode = new CheckBox();
|
||||||
checkAutoApplyWindowsPowerMode = new CheckBox();
|
|
||||||
checkTopmost = new CheckBox();
|
checkTopmost = new CheckBox();
|
||||||
checkNoOverdrive = new CheckBox();
|
checkNoOverdrive = new CheckBox();
|
||||||
checkUSBC = new CheckBox();
|
checkUSBC = new CheckBox();
|
||||||
checkVariBright = new CheckBox();
|
checkVariBright = new CheckBox();
|
||||||
checkGpuApps = new CheckBox();
|
checkGpuApps = new CheckBox();
|
||||||
checkFnLock = new CheckBox();
|
checkGPUFix = new CheckBox();
|
||||||
|
panelPower = new Panel();
|
||||||
|
numericHibernateAfter = new NumericUpDown();
|
||||||
|
labelHibernateAfter = new Label();
|
||||||
|
pictureHibernate = new PictureBox();
|
||||||
|
toolTip = new ToolTip(components);
|
||||||
|
checkBootSound = new CheckBox();
|
||||||
panelServices.SuspendLayout();
|
panelServices.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureService).BeginInit();
|
||||||
panelBindingsHeader.SuspendLayout();
|
panelBindingsHeader.SuspendLayout();
|
||||||
@@ -116,7 +123,6 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureHelp).BeginInit();
|
||||||
panelBindings.SuspendLayout();
|
panelBindings.SuspendLayout();
|
||||||
tableBindings.SuspendLayout();
|
tableBindings.SuspendLayout();
|
||||||
tableKeys.SuspendLayout();
|
|
||||||
panelBacklightHeader.SuspendLayout();
|
panelBacklightHeader.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBacklight).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBacklight).BeginInit();
|
||||||
panelBacklight.SuspendLayout();
|
panelBacklight.SuspendLayout();
|
||||||
@@ -129,18 +135,23 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureLog).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureLog).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureSettings).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureSettings).BeginInit();
|
||||||
panelSettings.SuspendLayout();
|
panelSettings.SuspendLayout();
|
||||||
|
panelPower.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)numericHibernateAfter).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureHibernate).BeginInit();
|
||||||
SuspendLayout();
|
SuspendLayout();
|
||||||
//
|
//
|
||||||
// panelServices
|
// panelServices
|
||||||
//
|
//
|
||||||
|
panelServices.AccessibleName = "Asus Services";
|
||||||
|
panelServices.AccessibleRole = AccessibleRole.Grouping;
|
||||||
panelServices.Controls.Add(pictureService);
|
panelServices.Controls.Add(pictureService);
|
||||||
panelServices.Controls.Add(labelServices);
|
panelServices.Controls.Add(labelServices);
|
||||||
panelServices.Controls.Add(buttonServices);
|
panelServices.Controls.Add(buttonServices);
|
||||||
panelServices.Dock = DockStyle.Top;
|
panelServices.Dock = DockStyle.Top;
|
||||||
panelServices.Location = new Point(15, 1196);
|
panelServices.Location = new Point(15, 1321);
|
||||||
panelServices.Name = "panelServices";
|
panelServices.Name = "panelServices";
|
||||||
panelServices.Size = new Size(983, 75);
|
panelServices.Size = new Size(983, 75);
|
||||||
panelServices.TabIndex = 3;
|
panelServices.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// pictureService
|
// pictureService
|
||||||
//
|
//
|
||||||
@@ -156,7 +167,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
labelServices.AutoSize = true;
|
labelServices.AutoSize = true;
|
||||||
labelServices.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
labelServices.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
labelServices.Location = new Point(57, 18);
|
labelServices.Location = new Point(57, 19);
|
||||||
labelServices.Name = "labelServices";
|
labelServices.Name = "labelServices";
|
||||||
labelServices.Size = new Size(273, 32);
|
labelServices.Size = new Size(273, 32);
|
||||||
labelServices.TabIndex = 20;
|
labelServices.TabIndex = 20;
|
||||||
@@ -189,15 +200,15 @@ namespace GHelper
|
|||||||
panelBindingsHeader.Dock = DockStyle.Top;
|
panelBindingsHeader.Dock = DockStyle.Top;
|
||||||
panelBindingsHeader.Location = new Point(15, 15);
|
panelBindingsHeader.Location = new Point(15, 15);
|
||||||
panelBindingsHeader.Name = "panelBindingsHeader";
|
panelBindingsHeader.Name = "panelBindingsHeader";
|
||||||
panelBindingsHeader.Padding = new Padding(10, 5, 10, 5);
|
panelBindingsHeader.Padding = new Padding(11, 5, 11, 5);
|
||||||
panelBindingsHeader.Size = new Size(983, 50);
|
panelBindingsHeader.Size = new Size(983, 51);
|
||||||
panelBindingsHeader.TabIndex = 4;
|
panelBindingsHeader.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// pictureBindings
|
// pictureBindings
|
||||||
//
|
//
|
||||||
pictureBindings.BackgroundImage = Resources.icons8_keyboard_32;
|
pictureBindings.BackgroundImage = Resources.icons8_keyboard_32;
|
||||||
pictureBindings.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureBindings.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureBindings.Location = new Point(20, 10);
|
pictureBindings.Location = new Point(20, 11);
|
||||||
pictureBindings.Name = "pictureBindings";
|
pictureBindings.Name = "pictureBindings";
|
||||||
pictureBindings.Size = new Size(32, 32);
|
pictureBindings.Size = new Size(32, 32);
|
||||||
pictureBindings.TabIndex = 1;
|
pictureBindings.TabIndex = 1;
|
||||||
@@ -209,7 +220,7 @@ namespace GHelper
|
|||||||
pictureHelp.BackgroundImage = Resources.icons8_help_32;
|
pictureHelp.BackgroundImage = Resources.icons8_help_32;
|
||||||
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureHelp.Cursor = Cursors.Hand;
|
pictureHelp.Cursor = Cursors.Hand;
|
||||||
pictureHelp.Location = new Point(930, 10);
|
pictureHelp.Location = new Point(931, 11);
|
||||||
pictureHelp.Margin = new Padding(4, 3, 4, 3);
|
pictureHelp.Margin = new Padding(4, 3, 4, 3);
|
||||||
pictureHelp.Name = "pictureHelp";
|
pictureHelp.Name = "pictureHelp";
|
||||||
pictureHelp.Size = new Size(32, 32);
|
pictureHelp.Size = new Size(32, 32);
|
||||||
@@ -228,24 +239,33 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// panelBindings
|
// panelBindings
|
||||||
//
|
//
|
||||||
|
panelBindings.AccessibleName = "Key Bindings";
|
||||||
panelBindings.AutoSize = true;
|
panelBindings.AutoSize = true;
|
||||||
panelBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelBindings.Controls.Add(tableBindings);
|
panelBindings.Controls.Add(tableBindings);
|
||||||
panelBindings.Dock = DockStyle.Top;
|
panelBindings.Dock = DockStyle.Top;
|
||||||
panelBindings.Location = new Point(15, 65);
|
panelBindings.Location = new Point(15, 66);
|
||||||
panelBindings.Name = "panelBindings";
|
panelBindings.Name = "panelBindings";
|
||||||
panelBindings.Padding = new Padding(0, 0, 10, 5);
|
panelBindings.Padding = new Padding(0, 0, 11, 5);
|
||||||
panelBindings.Size = new Size(983, 325);
|
panelBindings.Size = new Size(983, 351);
|
||||||
panelBindings.TabIndex = 5;
|
panelBindings.TabIndex = 1;
|
||||||
|
panelBindings.TabStop = true;
|
||||||
//
|
//
|
||||||
// tableBindings
|
// tableBindings
|
||||||
//
|
//
|
||||||
|
tableBindings.AccessibleName = "Keyboard Bindings";
|
||||||
|
tableBindings.AccessibleRole = AccessibleRole.Table;
|
||||||
|
tableBindings.AutoSize = true;
|
||||||
|
tableBindings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
tableBindings.ColumnCount = 3;
|
tableBindings.ColumnCount = 3;
|
||||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 15.4649944F));
|
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40.97453F));
|
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 43.6323357F));
|
tableBindings.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
tableBindings.Controls.Add(label1, 0, 5);
|
tableBindings.Controls.Add(labelFNE, 0, 6);
|
||||||
tableBindings.Controls.Add(textBox1, 2, 1);
|
tableBindings.Controls.Add(comboFNE, 0, 6);
|
||||||
|
tableBindings.Controls.Add(textFNE, 0, 6);
|
||||||
|
tableBindings.Controls.Add(labelFNC, 0, 5);
|
||||||
|
tableBindings.Controls.Add(textM2, 2, 1);
|
||||||
tableBindings.Controls.Add(textM1, 2, 0);
|
tableBindings.Controls.Add(textM1, 2, 0);
|
||||||
tableBindings.Controls.Add(comboM1, 1, 0);
|
tableBindings.Controls.Add(comboM1, 1, 0);
|
||||||
tableBindings.Controls.Add(labelM1, 0, 0);
|
tableBindings.Controls.Add(labelM1, 0, 0);
|
||||||
@@ -267,59 +287,99 @@ namespace GHelper
|
|||||||
tableBindings.Margin = new Padding(0, 3, 4, 3);
|
tableBindings.Margin = new Padding(0, 3, 4, 3);
|
||||||
tableBindings.Name = "tableBindings";
|
tableBindings.Name = "tableBindings";
|
||||||
tableBindings.Padding = new Padding(16, 12, 0, 12);
|
tableBindings.Padding = new Padding(16, 12, 0, 12);
|
||||||
tableBindings.RowCount = 6;
|
tableBindings.RowCount = 7;
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 51F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 49F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 21F));
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
tableBindings.Size = new Size(973, 320);
|
tableBindings.RowStyles.Add(new RowStyle());
|
||||||
|
tableBindings.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
|
||||||
|
tableBindings.Size = new Size(972, 346);
|
||||||
tableBindings.TabIndex = 12;
|
tableBindings.TabIndex = 12;
|
||||||
//
|
//
|
||||||
// label1
|
// labelFNE
|
||||||
//
|
//
|
||||||
label1.AutoSize = true;
|
labelFNE.AutoSize = true;
|
||||||
label1.Location = new Point(16, 265);
|
labelFNE.Location = new Point(16, 288);
|
||||||
label1.Margin = new Padding(0);
|
labelFNE.Margin = new Padding(0);
|
||||||
label1.Name = "label1";
|
labelFNE.Name = "labelFNE";
|
||||||
label1.Padding = new Padding(5, 10, 0, 0);
|
labelFNE.Padding = new Padding(5, 11, 0, 0);
|
||||||
label1.Size = new Size(85, 42);
|
labelFNE.Size = new Size(143, 43);
|
||||||
label1.TabIndex = 15;
|
labelFNE.TabIndex = 20;
|
||||||
label1.Text = "FN+C:";
|
labelFNE.Text = "FN+NmEnt:";
|
||||||
//
|
//
|
||||||
// textBox1
|
// comboFNE
|
||||||
//
|
//
|
||||||
textBox1.Dock = DockStyle.Top;
|
comboFNE.AccessibleName = "Fn+Numpad Action";
|
||||||
textBox1.Location = new Point(558, 66);
|
comboFNE.BorderColor = Color.White;
|
||||||
textBox1.Margin = new Padding(4, 3, 4, 3);
|
comboFNE.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
textBox1.Name = "textBox1";
|
comboFNE.Dock = DockStyle.Top;
|
||||||
textBox1.PlaceholderText = "action";
|
comboFNE.FormattingEnabled = true;
|
||||||
textBox1.Size = new Size(411, 39);
|
comboFNE.Location = new Point(211, 291);
|
||||||
textBox1.TabIndex = 14;
|
comboFNE.Margin = new Padding(4, 3, 4, 3);
|
||||||
|
comboFNE.Name = "comboFNE";
|
||||||
|
comboFNE.Size = new Size(374, 40);
|
||||||
|
comboFNE.TabIndex = 7;
|
||||||
|
//
|
||||||
|
// textFNE
|
||||||
|
//
|
||||||
|
textFNE.Dock = DockStyle.Top;
|
||||||
|
textFNE.Location = new Point(593, 291);
|
||||||
|
textFNE.Margin = new Padding(4, 3, 4, 3);
|
||||||
|
textFNE.Name = "textFNE";
|
||||||
|
textFNE.PlaceholderText = "action";
|
||||||
|
textFNE.Size = new Size(375, 39);
|
||||||
|
textFNE.TabIndex = 18;
|
||||||
|
textFNE.TabStop = false;
|
||||||
|
//
|
||||||
|
// labelFNC
|
||||||
|
//
|
||||||
|
labelFNC.AutoSize = true;
|
||||||
|
labelFNC.Location = new Point(16, 242);
|
||||||
|
labelFNC.Margin = new Padding(0);
|
||||||
|
labelFNC.Name = "labelFNC";
|
||||||
|
labelFNC.Padding = new Padding(5, 11, 0, 0);
|
||||||
|
labelFNC.Size = new Size(85, 43);
|
||||||
|
labelFNC.TabIndex = 15;
|
||||||
|
labelFNC.Text = "FN+C:";
|
||||||
|
//
|
||||||
|
// textM2
|
||||||
|
//
|
||||||
|
textM2.Dock = DockStyle.Top;
|
||||||
|
textM2.Location = new Point(594, 61);
|
||||||
|
textM2.Margin = new Padding(5, 3, 5, 3);
|
||||||
|
textM2.Name = "textM2";
|
||||||
|
textM2.PlaceholderText = "action";
|
||||||
|
textM2.Size = new Size(373, 39);
|
||||||
|
textM2.TabIndex = 14;
|
||||||
|
textM2.TabStop = false;
|
||||||
//
|
//
|
||||||
// textM1
|
// textM1
|
||||||
//
|
//
|
||||||
textM1.Dock = DockStyle.Top;
|
textM1.Dock = DockStyle.Top;
|
||||||
textM1.Location = new Point(558, 15);
|
textM1.Location = new Point(593, 15);
|
||||||
textM1.Margin = new Padding(4, 3, 4, 3);
|
textM1.Margin = new Padding(4, 3, 4, 3);
|
||||||
textM1.Name = "textM1";
|
textM1.Name = "textM1";
|
||||||
textM1.PlaceholderText = "action";
|
textM1.PlaceholderText = "action";
|
||||||
textM1.Size = new Size(411, 39);
|
textM1.Size = new Size(375, 39);
|
||||||
textM1.TabIndex = 13;
|
textM1.TabIndex = 13;
|
||||||
|
textM1.TabStop = false;
|
||||||
//
|
//
|
||||||
// comboM1
|
// comboM1
|
||||||
//
|
//
|
||||||
|
comboM1.AccessibleName = "M1 Action";
|
||||||
comboM1.BorderColor = Color.White;
|
comboM1.BorderColor = Color.White;
|
||||||
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM1.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM1.Dock = DockStyle.Top;
|
comboM1.Dock = DockStyle.Top;
|
||||||
comboM1.FormattingEnabled = true;
|
comboM1.FormattingEnabled = true;
|
||||||
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM1.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM1.Location = new Point(167, 15);
|
comboM1.Location = new Point(211, 15);
|
||||||
comboM1.Margin = new Padding(4, 3, 4, 3);
|
comboM1.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboM1.Name = "comboM1";
|
comboM1.Name = "comboM1";
|
||||||
comboM1.Size = new Size(383, 40);
|
comboM1.Size = new Size(374, 40);
|
||||||
comboM1.TabIndex = 11;
|
comboM1.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// labelM1
|
// labelM1
|
||||||
//
|
//
|
||||||
@@ -327,157 +387,166 @@ namespace GHelper
|
|||||||
labelM1.Location = new Point(16, 12);
|
labelM1.Location = new Point(16, 12);
|
||||||
labelM1.Margin = new Padding(0);
|
labelM1.Margin = new Padding(0);
|
||||||
labelM1.Name = "labelM1";
|
labelM1.Name = "labelM1";
|
||||||
labelM1.Padding = new Padding(5, 10, 0, 0);
|
labelM1.Padding = new Padding(5, 11, 0, 0);
|
||||||
labelM1.Size = new Size(59, 42);
|
labelM1.Size = new Size(59, 43);
|
||||||
labelM1.TabIndex = 9;
|
labelM1.TabIndex = 9;
|
||||||
labelM1.Text = "M1:";
|
labelM1.Text = "M1:";
|
||||||
//
|
//
|
||||||
// comboM4
|
// comboM4
|
||||||
//
|
//
|
||||||
|
comboM4.AccessibleName = "M4 Action";
|
||||||
comboM4.BorderColor = Color.White;
|
comboM4.BorderColor = Color.White;
|
||||||
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM4.Dock = DockStyle.Top;
|
comboM4.Dock = DockStyle.Top;
|
||||||
comboM4.FormattingEnabled = true;
|
comboM4.FormattingEnabled = true;
|
||||||
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
comboM4.Items.AddRange(new object[] { Strings.PerformanceMode, Strings.OpenGHelper, Strings.Custom });
|
||||||
comboM4.Location = new Point(167, 168);
|
comboM4.Location = new Point(211, 153);
|
||||||
comboM4.Margin = new Padding(4, 3, 4, 3);
|
comboM4.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboM4.Name = "comboM4";
|
comboM4.Name = "comboM4";
|
||||||
comboM4.Size = new Size(383, 40);
|
comboM4.Size = new Size(374, 40);
|
||||||
comboM4.TabIndex = 3;
|
comboM4.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// comboM3
|
// comboM3
|
||||||
//
|
//
|
||||||
|
comboM3.AccessibleName = "M3 Action";
|
||||||
comboM3.BorderColor = Color.White;
|
comboM3.BorderColor = Color.White;
|
||||||
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM3.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM3.Dock = DockStyle.Top;
|
comboM3.Dock = DockStyle.Top;
|
||||||
comboM3.FormattingEnabled = true;
|
comboM3.FormattingEnabled = true;
|
||||||
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM3.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM3.Location = new Point(167, 117);
|
comboM3.Location = new Point(211, 107);
|
||||||
comboM3.Margin = new Padding(4, 3, 4, 3);
|
comboM3.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboM3.Name = "comboM3";
|
comboM3.Name = "comboM3";
|
||||||
comboM3.Size = new Size(383, 40);
|
comboM3.Size = new Size(374, 40);
|
||||||
comboM3.TabIndex = 1;
|
comboM3.TabIndex = 3;
|
||||||
//
|
//
|
||||||
// textM4
|
// textM4
|
||||||
//
|
//
|
||||||
textM4.Dock = DockStyle.Top;
|
textM4.Dock = DockStyle.Top;
|
||||||
textM4.Location = new Point(558, 168);
|
textM4.Location = new Point(593, 153);
|
||||||
textM4.Margin = new Padding(4, 3, 4, 3);
|
textM4.Margin = new Padding(4, 3, 4, 3);
|
||||||
textM4.Name = "textM4";
|
textM4.Name = "textM4";
|
||||||
textM4.PlaceholderText = "action";
|
textM4.PlaceholderText = "action";
|
||||||
textM4.Size = new Size(411, 39);
|
textM4.Size = new Size(375, 39);
|
||||||
textM4.TabIndex = 5;
|
textM4.TabIndex = 5;
|
||||||
|
textM4.TabStop = false;
|
||||||
//
|
//
|
||||||
// textM3
|
// textM3
|
||||||
//
|
//
|
||||||
textM3.Dock = DockStyle.Top;
|
textM3.Dock = DockStyle.Top;
|
||||||
textM3.Location = new Point(558, 117);
|
textM3.Location = new Point(593, 107);
|
||||||
textM3.Margin = new Padding(4, 3, 4, 3);
|
textM3.Margin = new Padding(4, 3, 4, 3);
|
||||||
textM3.Name = "textM3";
|
textM3.Name = "textM3";
|
||||||
textM3.PlaceholderText = "action";
|
textM3.PlaceholderText = "action";
|
||||||
textM3.Size = new Size(411, 39);
|
textM3.Size = new Size(375, 39);
|
||||||
textM3.TabIndex = 4;
|
textM3.TabIndex = 4;
|
||||||
|
textM3.TabStop = false;
|
||||||
//
|
//
|
||||||
// labelM4
|
// labelM4
|
||||||
//
|
//
|
||||||
labelM4.AutoSize = true;
|
labelM4.AutoSize = true;
|
||||||
labelM4.Location = new Point(16, 165);
|
labelM4.Location = new Point(16, 150);
|
||||||
labelM4.Margin = new Padding(0);
|
labelM4.Margin = new Padding(0);
|
||||||
labelM4.Name = "labelM4";
|
labelM4.Name = "labelM4";
|
||||||
labelM4.Padding = new Padding(5, 10, 0, 0);
|
labelM4.Padding = new Padding(5, 11, 0, 0);
|
||||||
labelM4.Size = new Size(116, 42);
|
labelM4.Size = new Size(116, 43);
|
||||||
labelM4.TabIndex = 2;
|
labelM4.TabIndex = 2;
|
||||||
labelM4.Text = "M4/ROG:";
|
labelM4.Text = "M4/ROG:";
|
||||||
//
|
//
|
||||||
// labelM3
|
// labelM3
|
||||||
//
|
//
|
||||||
labelM3.AutoSize = true;
|
labelM3.AutoSize = true;
|
||||||
labelM3.Location = new Point(16, 114);
|
labelM3.Location = new Point(16, 104);
|
||||||
labelM3.Margin = new Padding(0);
|
labelM3.Margin = new Padding(0);
|
||||||
labelM3.Name = "labelM3";
|
labelM3.Name = "labelM3";
|
||||||
labelM3.Padding = new Padding(5, 10, 0, 0);
|
labelM3.Padding = new Padding(5, 11, 0, 0);
|
||||||
labelM3.Size = new Size(59, 42);
|
labelM3.Size = new Size(59, 43);
|
||||||
labelM3.TabIndex = 0;
|
labelM3.TabIndex = 0;
|
||||||
labelM3.Text = "M3:";
|
labelM3.Text = "M3:";
|
||||||
//
|
//
|
||||||
// labelM2
|
// labelM2
|
||||||
//
|
//
|
||||||
labelM2.AutoSize = true;
|
labelM2.AutoSize = true;
|
||||||
labelM2.Location = new Point(16, 63);
|
labelM2.Location = new Point(16, 58);
|
||||||
labelM2.Margin = new Padding(0);
|
labelM2.Margin = new Padding(0);
|
||||||
labelM2.Name = "labelM2";
|
labelM2.Name = "labelM2";
|
||||||
labelM2.Padding = new Padding(5, 10, 0, 0);
|
labelM2.Padding = new Padding(5, 11, 0, 0);
|
||||||
labelM2.Size = new Size(59, 42);
|
labelM2.Size = new Size(59, 43);
|
||||||
labelM2.TabIndex = 10;
|
labelM2.TabIndex = 10;
|
||||||
labelM2.Text = "M2:";
|
labelM2.Text = "M2:";
|
||||||
//
|
//
|
||||||
// comboM2
|
// comboM2
|
||||||
//
|
//
|
||||||
|
comboM2.AccessibleName = "M2 Action";
|
||||||
comboM2.BorderColor = Color.White;
|
comboM2.BorderColor = Color.White;
|
||||||
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboM2.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboM2.Dock = DockStyle.Top;
|
comboM2.Dock = DockStyle.Top;
|
||||||
comboM2.FormattingEnabled = true;
|
comboM2.FormattingEnabled = true;
|
||||||
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
comboM2.Items.AddRange(new object[] { Strings.Default, Strings.VolumeMute, Strings.PlayPause, Strings.PrintScreen, Strings.ToggleAura, Strings.Custom });
|
||||||
comboM2.Location = new Point(167, 66);
|
comboM2.Location = new Point(211, 61);
|
||||||
comboM2.Margin = new Padding(4, 3, 4, 3);
|
comboM2.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboM2.Name = "comboM2";
|
comboM2.Name = "comboM2";
|
||||||
comboM2.Size = new Size(383, 40);
|
comboM2.Size = new Size(374, 40);
|
||||||
comboM2.TabIndex = 12;
|
comboM2.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// labelFNF4
|
// labelFNF4
|
||||||
//
|
//
|
||||||
labelFNF4.AutoSize = true;
|
labelFNF4.AutoSize = true;
|
||||||
labelFNF4.Location = new Point(16, 216);
|
labelFNF4.Location = new Point(16, 196);
|
||||||
labelFNF4.Margin = new Padding(0);
|
labelFNF4.Margin = new Padding(0);
|
||||||
labelFNF4.Name = "labelFNF4";
|
labelFNF4.Name = "labelFNF4";
|
||||||
labelFNF4.Padding = new Padding(5, 10, 0, 0);
|
labelFNF4.Padding = new Padding(5, 11, 0, 0);
|
||||||
labelFNF4.Size = new Size(95, 42);
|
labelFNF4.Size = new Size(95, 43);
|
||||||
labelFNF4.TabIndex = 6;
|
labelFNF4.TabIndex = 6;
|
||||||
labelFNF4.Text = "FN+F4:";
|
labelFNF4.Text = "FN+F4:";
|
||||||
//
|
//
|
||||||
// comboFNF4
|
// comboFNF4
|
||||||
//
|
//
|
||||||
|
comboFNF4.AccessibleName = "Fn+F4 Action";
|
||||||
comboFNF4.BorderColor = Color.White;
|
comboFNF4.BorderColor = Color.White;
|
||||||
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboFNF4.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboFNF4.Dock = DockStyle.Top;
|
comboFNF4.Dock = DockStyle.Top;
|
||||||
comboFNF4.FormattingEnabled = true;
|
comboFNF4.FormattingEnabled = true;
|
||||||
comboFNF4.Location = new Point(167, 219);
|
comboFNF4.Location = new Point(211, 199);
|
||||||
comboFNF4.Margin = new Padding(4, 3, 4, 3);
|
comboFNF4.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboFNF4.Name = "comboFNF4";
|
comboFNF4.Name = "comboFNF4";
|
||||||
comboFNF4.Size = new Size(383, 40);
|
comboFNF4.Size = new Size(374, 40);
|
||||||
comboFNF4.TabIndex = 7;
|
comboFNF4.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// textFNF4
|
// textFNF4
|
||||||
//
|
//
|
||||||
textFNF4.Dock = DockStyle.Top;
|
textFNF4.Dock = DockStyle.Top;
|
||||||
textFNF4.Location = new Point(558, 219);
|
textFNF4.Location = new Point(593, 199);
|
||||||
textFNF4.Margin = new Padding(4, 3, 4, 3);
|
textFNF4.Margin = new Padding(4, 3, 4, 3);
|
||||||
textFNF4.Name = "textFNF4";
|
textFNF4.Name = "textFNF4";
|
||||||
textFNF4.PlaceholderText = "action";
|
textFNF4.PlaceholderText = "action";
|
||||||
textFNF4.Size = new Size(411, 39);
|
textFNF4.Size = new Size(375, 39);
|
||||||
textFNF4.TabIndex = 8;
|
textFNF4.TabIndex = 8;
|
||||||
|
textFNF4.TabStop = false;
|
||||||
//
|
//
|
||||||
// comboFNC
|
// comboFNC
|
||||||
//
|
//
|
||||||
|
comboFNC.AccessibleName = "Fn+C Action";
|
||||||
comboFNC.BorderColor = Color.White;
|
comboFNC.BorderColor = Color.White;
|
||||||
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
|
comboFNC.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
comboFNC.Dock = DockStyle.Top;
|
comboFNC.Dock = DockStyle.Top;
|
||||||
comboFNC.FormattingEnabled = true;
|
comboFNC.FormattingEnabled = true;
|
||||||
comboFNC.Location = new Point(167, 268);
|
comboFNC.Location = new Point(211, 245);
|
||||||
comboFNC.Margin = new Padding(4, 3, 4, 3);
|
comboFNC.Margin = new Padding(4, 3, 4, 3);
|
||||||
comboFNC.Name = "comboFNC";
|
comboFNC.Name = "comboFNC";
|
||||||
comboFNC.Size = new Size(383, 40);
|
comboFNC.Size = new Size(374, 40);
|
||||||
comboFNC.TabIndex = 16;
|
comboFNC.TabIndex = 6;
|
||||||
//
|
//
|
||||||
// textFNC
|
// textFNC
|
||||||
//
|
//
|
||||||
textFNC.Dock = DockStyle.Top;
|
textFNC.Dock = DockStyle.Top;
|
||||||
textFNC.Location = new Point(558, 268);
|
textFNC.Location = new Point(593, 245);
|
||||||
textFNC.Margin = new Padding(4, 3, 4, 3);
|
textFNC.Margin = new Padding(4, 3, 4, 3);
|
||||||
textFNC.Name = "textFNC";
|
textFNC.Name = "textFNC";
|
||||||
textFNC.PlaceholderText = "action";
|
textFNC.PlaceholderText = "action";
|
||||||
textFNC.Size = new Size(411, 39);
|
textFNC.Size = new Size(375, 39);
|
||||||
textFNC.TabIndex = 17;
|
textFNC.TabIndex = 17;
|
||||||
|
textFNC.TabStop = false;
|
||||||
//
|
//
|
||||||
// tableKeys
|
// tableKeys
|
||||||
//
|
//
|
||||||
@@ -485,7 +554,6 @@ namespace GHelper
|
|||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
|
||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
tableKeys.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
|
||||||
tableKeys.Controls.Add(labelFNC, 0, 5);
|
|
||||||
tableKeys.Location = new Point(0, 0);
|
tableKeys.Location = new Point(0, 0);
|
||||||
tableKeys.Name = "tableKeys";
|
tableKeys.Name = "tableKeys";
|
||||||
tableKeys.RowCount = 6;
|
tableKeys.RowCount = 6;
|
||||||
@@ -498,26 +566,6 @@ namespace GHelper
|
|||||||
tableKeys.Size = new Size(200, 100);
|
tableKeys.Size = new Size(200, 100);
|
||||||
tableKeys.TabIndex = 0;
|
tableKeys.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// labelFNC
|
|
||||||
//
|
|
||||||
labelFNC.AutoSize = true;
|
|
||||||
labelFNC.Location = new Point(4, 100);
|
|
||||||
labelFNC.Margin = new Padding(4, 0, 4, 0);
|
|
||||||
labelFNC.Name = "labelFNC";
|
|
||||||
labelFNC.Size = new Size(32, 20);
|
|
||||||
labelFNC.TabIndex = 15;
|
|
||||||
labelFNC.Text = "FN+C:";
|
|
||||||
//
|
|
||||||
// textM2
|
|
||||||
//
|
|
||||||
textM2.Dock = DockStyle.Top;
|
|
||||||
textM2.Location = new Point(124, 2);
|
|
||||||
textM2.Margin = new Padding(4, 2, 4, 2);
|
|
||||||
textM2.Name = "textM2";
|
|
||||||
textM2.PlaceholderText = "action";
|
|
||||||
textM2.Size = new Size(72, 39);
|
|
||||||
textM2.TabIndex = 14;
|
|
||||||
//
|
|
||||||
// panelBacklightHeader
|
// panelBacklightHeader
|
||||||
//
|
//
|
||||||
panelBacklightHeader.AutoSize = true;
|
panelBacklightHeader.AutoSize = true;
|
||||||
@@ -526,22 +574,24 @@ namespace GHelper
|
|||||||
panelBacklightHeader.Controls.Add(pictureBacklight);
|
panelBacklightHeader.Controls.Add(pictureBacklight);
|
||||||
panelBacklightHeader.Controls.Add(labelBacklightTitle);
|
panelBacklightHeader.Controls.Add(labelBacklightTitle);
|
||||||
panelBacklightHeader.Dock = DockStyle.Top;
|
panelBacklightHeader.Dock = DockStyle.Top;
|
||||||
panelBacklightHeader.Location = new Point(15, 390);
|
panelBacklightHeader.Location = new Point(15, 417);
|
||||||
panelBacklightHeader.Name = "panelBacklightHeader";
|
panelBacklightHeader.Name = "panelBacklightHeader";
|
||||||
panelBacklightHeader.Padding = new Padding(10, 5, 10, 5);
|
panelBacklightHeader.Padding = new Padding(11, 5, 11, 5);
|
||||||
panelBacklightHeader.Size = new Size(983, 50);
|
panelBacklightHeader.Size = new Size(983, 51);
|
||||||
panelBacklightHeader.TabIndex = 44;
|
panelBacklightHeader.TabIndex = 44;
|
||||||
//
|
//
|
||||||
// sliderBrightness
|
// sliderBrightness
|
||||||
//
|
//
|
||||||
sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
sliderBrightness.Location = new Point(546, 6);
|
sliderBrightness.Location = new Point(467, 5);
|
||||||
|
sliderBrightness.Margin = new Padding(0);
|
||||||
sliderBrightness.Max = 3;
|
sliderBrightness.Max = 3;
|
||||||
sliderBrightness.Min = 0;
|
sliderBrightness.Min = 0;
|
||||||
sliderBrightness.Name = "sliderBrightness";
|
sliderBrightness.Name = "sliderBrightness";
|
||||||
sliderBrightness.Size = new Size(419, 36);
|
sliderBrightness.Size = new Size(500, 40);
|
||||||
sliderBrightness.Step = 1;
|
sliderBrightness.Step = 1;
|
||||||
sliderBrightness.TabIndex = 50;
|
sliderBrightness.TabIndex = 50;
|
||||||
|
sliderBrightness.TabStop = false;
|
||||||
sliderBrightness.Text = "sliderBrightness";
|
sliderBrightness.Text = "sliderBrightness";
|
||||||
sliderBrightness.Value = 3;
|
sliderBrightness.Value = 3;
|
||||||
//
|
//
|
||||||
@@ -549,7 +599,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
pictureBacklight.BackgroundImage = Resources.backlight;
|
pictureBacklight.BackgroundImage = Resources.backlight;
|
||||||
pictureBacklight.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureBacklight.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureBacklight.Location = new Point(20, 10);
|
pictureBacklight.Location = new Point(20, 11);
|
||||||
pictureBacklight.Name = "pictureBacklight";
|
pictureBacklight.Name = "pictureBacklight";
|
||||||
pictureBacklight.Size = new Size(32, 32);
|
pictureBacklight.Size = new Size(32, 32);
|
||||||
pictureBacklight.TabIndex = 3;
|
pictureBacklight.TabIndex = 3;
|
||||||
@@ -572,11 +622,11 @@ namespace GHelper
|
|||||||
panelBacklight.Controls.Add(panelXMG);
|
panelBacklight.Controls.Add(panelXMG);
|
||||||
panelBacklight.Controls.Add(tableBacklight);
|
panelBacklight.Controls.Add(tableBacklight);
|
||||||
panelBacklight.Dock = DockStyle.Top;
|
panelBacklight.Dock = DockStyle.Top;
|
||||||
panelBacklight.Location = new Point(15, 440);
|
panelBacklight.Location = new Point(15, 468);
|
||||||
panelBacklight.Name = "panelBacklight";
|
panelBacklight.Name = "panelBacklight";
|
||||||
panelBacklight.Padding = new Padding(0, 5, 0, 5);
|
panelBacklight.Padding = new Padding(0, 5, 0, 5);
|
||||||
panelBacklight.Size = new Size(983, 402);
|
panelBacklight.Size = new Size(983, 402);
|
||||||
panelBacklight.TabIndex = 6;
|
panelBacklight.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// panelBacklightExtra
|
// panelBacklightExtra
|
||||||
//
|
//
|
||||||
@@ -597,30 +647,32 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// numericBacklightPluggedTime
|
// numericBacklightPluggedTime
|
||||||
//
|
//
|
||||||
|
numericBacklightPluggedTime.AccessibleName = "Backlight Timeout when plugged";
|
||||||
numericBacklightPluggedTime.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
numericBacklightPluggedTime.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
numericBacklightPluggedTime.Location = new Point(670, 63);
|
numericBacklightPluggedTime.Location = new Point(670, 63);
|
||||||
numericBacklightPluggedTime.Margin = new Padding(4, 3, 4, 3);
|
numericBacklightPluggedTime.Margin = new Padding(4, 3, 4, 3);
|
||||||
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
numericBacklightPluggedTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||||
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
numericBacklightPluggedTime.Name = "numericBacklightPluggedTime";
|
||||||
numericBacklightPluggedTime.Size = new Size(140, 39);
|
numericBacklightPluggedTime.Size = new Size(140, 39);
|
||||||
numericBacklightPluggedTime.TabIndex = 49;
|
numericBacklightPluggedTime.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// numericBacklightTime
|
// numericBacklightTime
|
||||||
//
|
//
|
||||||
|
numericBacklightTime.AccessibleName = "Backlight Timeout when on battery";
|
||||||
numericBacklightTime.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
numericBacklightTime.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
numericBacklightTime.Location = new Point(822, 63);
|
numericBacklightTime.Location = new Point(822, 63);
|
||||||
numericBacklightTime.Margin = new Padding(4, 3, 4, 3);
|
numericBacklightTime.Margin = new Padding(4, 3, 4, 3);
|
||||||
numericBacklightTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
numericBacklightTime.Maximum = new decimal(new int[] { 3600, 0, 0, 0 });
|
||||||
numericBacklightTime.Name = "numericBacklightTime";
|
numericBacklightTime.Name = "numericBacklightTime";
|
||||||
numericBacklightTime.Size = new Size(140, 39);
|
numericBacklightTime.Size = new Size(140, 39);
|
||||||
numericBacklightTime.TabIndex = 47;
|
numericBacklightTime.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// labelBacklightTimeout
|
// labelBacklightTimeout
|
||||||
//
|
//
|
||||||
labelBacklightTimeout.Location = new Point(16, 63);
|
labelBacklightTimeout.Location = new Point(16, 63);
|
||||||
labelBacklightTimeout.Margin = new Padding(4, 0, 4, 0);
|
labelBacklightTimeout.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelBacklightTimeout.Name = "labelBacklightTimeout";
|
labelBacklightTimeout.Name = "labelBacklightTimeout";
|
||||||
labelBacklightTimeout.Size = new Size(646, 47);
|
labelBacklightTimeout.Size = new Size(612, 47);
|
||||||
labelBacklightTimeout.TabIndex = 46;
|
labelBacklightTimeout.TabIndex = 46;
|
||||||
labelBacklightTimeout.Text = "Timeout when plugged / on battery";
|
labelBacklightTimeout.Text = "Timeout when plugged / on battery";
|
||||||
//
|
//
|
||||||
@@ -629,12 +681,13 @@ namespace GHelper
|
|||||||
labelSpeed.Location = new Point(16, 16);
|
labelSpeed.Location = new Point(16, 16);
|
||||||
labelSpeed.Margin = new Padding(4, 0, 4, 0);
|
labelSpeed.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelSpeed.Name = "labelSpeed";
|
labelSpeed.Name = "labelSpeed";
|
||||||
labelSpeed.Size = new Size(646, 43);
|
labelSpeed.Size = new Size(612, 43);
|
||||||
labelSpeed.TabIndex = 44;
|
labelSpeed.TabIndex = 44;
|
||||||
labelSpeed.Text = "Animation Speed";
|
labelSpeed.Text = "Animation Speed";
|
||||||
//
|
//
|
||||||
// comboKeyboardSpeed
|
// comboKeyboardSpeed
|
||||||
//
|
//
|
||||||
|
comboKeyboardSpeed.AccessibleName = "Keyboard Animation Speed";
|
||||||
comboKeyboardSpeed.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
comboKeyboardSpeed.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
comboKeyboardSpeed.BorderColor = Color.White;
|
comboKeyboardSpeed.BorderColor = Color.White;
|
||||||
comboKeyboardSpeed.ButtonColor = SystemColors.ControlLight;
|
comboKeyboardSpeed.ButtonColor = SystemColors.ControlLight;
|
||||||
@@ -647,7 +700,7 @@ namespace GHelper
|
|||||||
comboKeyboardSpeed.Margin = new Padding(4, 12, 4, 9);
|
comboKeyboardSpeed.Margin = new Padding(4, 12, 4, 9);
|
||||||
comboKeyboardSpeed.Name = "comboKeyboardSpeed";
|
comboKeyboardSpeed.Name = "comboKeyboardSpeed";
|
||||||
comboKeyboardSpeed.Size = new Size(293, 40);
|
comboKeyboardSpeed.Size = new Size(293, 40);
|
||||||
comboKeyboardSpeed.TabIndex = 43;
|
comboKeyboardSpeed.TabIndex = 0;
|
||||||
comboKeyboardSpeed.TabStop = false;
|
comboKeyboardSpeed.TabStop = false;
|
||||||
//
|
//
|
||||||
// panelXMG
|
// panelXMG
|
||||||
@@ -663,7 +716,7 @@ namespace GHelper
|
|||||||
// checkXMG
|
// checkXMG
|
||||||
//
|
//
|
||||||
checkXMG.AutoSize = true;
|
checkXMG.AutoSize = true;
|
||||||
checkXMG.Location = new Point(4, 10);
|
checkXMG.Location = new Point(4, 11);
|
||||||
checkXMG.Margin = new Padding(4, 3, 4, 3);
|
checkXMG.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkXMG.Name = "checkXMG";
|
checkXMG.Name = "checkXMG";
|
||||||
checkXMG.Padding = new Padding(16, 3, 7, 3);
|
checkXMG.Padding = new Padding(16, 3, 7, 3);
|
||||||
@@ -727,6 +780,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// checkAwake
|
// checkAwake
|
||||||
//
|
//
|
||||||
|
checkAwake.AccessibleName = "Awake Backlight";
|
||||||
checkAwake.Dock = DockStyle.Fill;
|
checkAwake.Dock = DockStyle.Fill;
|
||||||
checkAwake.Location = new Point(4, 45);
|
checkAwake.Location = new Point(4, 45);
|
||||||
checkAwake.Margin = new Padding(4, 0, 4, 0);
|
checkAwake.Margin = new Padding(4, 0, 4, 0);
|
||||||
@@ -739,6 +793,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// checkBoot
|
// checkBoot
|
||||||
//
|
//
|
||||||
|
checkBoot.AccessibleName = "Boot Backlight";
|
||||||
checkBoot.Dock = DockStyle.Fill;
|
checkBoot.Dock = DockStyle.Fill;
|
||||||
checkBoot.Location = new Point(4, 88);
|
checkBoot.Location = new Point(4, 88);
|
||||||
checkBoot.Margin = new Padding(4, 0, 4, 0);
|
checkBoot.Margin = new Padding(4, 0, 4, 0);
|
||||||
@@ -751,6 +806,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// checkSleep
|
// checkSleep
|
||||||
//
|
//
|
||||||
|
checkSleep.AccessibleName = "Sleep Backlight";
|
||||||
checkSleep.Dock = DockStyle.Fill;
|
checkSleep.Dock = DockStyle.Fill;
|
||||||
checkSleep.Location = new Point(4, 131);
|
checkSleep.Location = new Point(4, 131);
|
||||||
checkSleep.Margin = new Padding(4, 0, 4, 0);
|
checkSleep.Margin = new Padding(4, 0, 4, 0);
|
||||||
@@ -763,6 +819,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// checkShutdown
|
// checkShutdown
|
||||||
//
|
//
|
||||||
|
checkShutdown.AccessibleName = "Shutdown Backlight";
|
||||||
checkShutdown.Dock = DockStyle.Fill;
|
checkShutdown.Dock = DockStyle.Fill;
|
||||||
checkShutdown.Location = new Point(4, 174);
|
checkShutdown.Location = new Point(4, 174);
|
||||||
checkShutdown.Margin = new Padding(4, 0, 4, 0);
|
checkShutdown.Margin = new Padding(4, 0, 4, 0);
|
||||||
@@ -961,10 +1018,10 @@ namespace GHelper
|
|||||||
panelSettingsHeader.Controls.Add(pictureSettings);
|
panelSettingsHeader.Controls.Add(pictureSettings);
|
||||||
panelSettingsHeader.Controls.Add(labelSettings);
|
panelSettingsHeader.Controls.Add(labelSettings);
|
||||||
panelSettingsHeader.Dock = DockStyle.Top;
|
panelSettingsHeader.Dock = DockStyle.Top;
|
||||||
panelSettingsHeader.Location = new Point(15, 842);
|
panelSettingsHeader.Location = new Point(15, 870);
|
||||||
panelSettingsHeader.Name = "panelSettingsHeader";
|
panelSettingsHeader.Name = "panelSettingsHeader";
|
||||||
panelSettingsHeader.Padding = new Padding(10, 5, 10, 5);
|
panelSettingsHeader.Padding = new Padding(11, 5, 11, 5);
|
||||||
panelSettingsHeader.Size = new Size(983, 50);
|
panelSettingsHeader.Size = new Size(983, 51);
|
||||||
panelSettingsHeader.TabIndex = 45;
|
panelSettingsHeader.TabIndex = 45;
|
||||||
//
|
//
|
||||||
// pictureLog
|
// pictureLog
|
||||||
@@ -973,7 +1030,7 @@ namespace GHelper
|
|||||||
pictureLog.BackgroundImage = Resources.icons8_log_32;
|
pictureLog.BackgroundImage = Resources.icons8_log_32;
|
||||||
pictureLog.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureLog.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureLog.Cursor = Cursors.Hand;
|
pictureLog.Cursor = Cursors.Hand;
|
||||||
pictureLog.Location = new Point(930, 10);
|
pictureLog.Location = new Point(931, 11);
|
||||||
pictureLog.Margin = new Padding(4, 3, 4, 3);
|
pictureLog.Margin = new Padding(4, 3, 4, 3);
|
||||||
pictureLog.Name = "pictureLog";
|
pictureLog.Name = "pictureLog";
|
||||||
pictureLog.Size = new Size(32, 32);
|
pictureLog.Size = new Size(32, 32);
|
||||||
@@ -984,7 +1041,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
pictureSettings.BackgroundImage = Resources.icons8_settings_32;
|
pictureSettings.BackgroundImage = Resources.icons8_settings_32;
|
||||||
pictureSettings.BackgroundImageLayout = ImageLayout.Zoom;
|
pictureSettings.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
pictureSettings.Location = new Point(20, 10);
|
pictureSettings.Location = new Point(20, 11);
|
||||||
pictureSettings.Name = "pictureSettings";
|
pictureSettings.Name = "pictureSettings";
|
||||||
pictureSettings.Size = new Size(32, 32);
|
pictureSettings.Size = new Size(32, 32);
|
||||||
pictureSettings.TabIndex = 1;
|
pictureSettings.TabIndex = 1;
|
||||||
@@ -1002,60 +1059,47 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// panelSettings
|
// panelSettings
|
||||||
//
|
//
|
||||||
|
panelSettings.AccessibleName = "Extra Settings";
|
||||||
|
panelSettings.AccessibleRole = AccessibleRole.Grouping;
|
||||||
panelSettings.AutoSize = true;
|
panelSettings.AutoSize = true;
|
||||||
panelSettings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
panelSettings.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
panelSettings.Controls.Add(checkAutoToggleClamshellMode);
|
panelSettings.Controls.Add(checkAutoToggleClamshellMode);
|
||||||
panelSettings.Controls.Add(checkAutoApplyWindowsPowerMode);
|
|
||||||
panelSettings.Controls.Add(checkTopmost);
|
panelSettings.Controls.Add(checkTopmost);
|
||||||
panelSettings.Controls.Add(checkNoOverdrive);
|
panelSettings.Controls.Add(checkNoOverdrive);
|
||||||
|
panelSettings.Controls.Add(checkBootSound);
|
||||||
panelSettings.Controls.Add(checkUSBC);
|
panelSettings.Controls.Add(checkUSBC);
|
||||||
panelSettings.Controls.Add(checkVariBright);
|
panelSettings.Controls.Add(checkVariBright);
|
||||||
panelSettings.Controls.Add(checkGpuApps);
|
panelSettings.Controls.Add(checkGpuApps);
|
||||||
panelSettings.Controls.Add(checkFnLock);
|
panelSettings.Controls.Add(checkGPUFix);
|
||||||
panelSettings.Dock = DockStyle.Top;
|
panelSettings.Dock = DockStyle.Top;
|
||||||
panelSettings.Location = new Point(15, 892);
|
panelSettings.Location = new Point(15, 921);
|
||||||
panelSettings.Name = "panelSettings";
|
panelSettings.Name = "panelSettings";
|
||||||
panelSettings.Padding = new Padding(20, 5, 10, 5);
|
panelSettings.Padding = new Padding(20, 5, 11, 5);
|
||||||
panelSettings.Size = new Size(983, 304);
|
panelSettings.Size = new Size(983, 346);
|
||||||
panelSettings.TabIndex = 46;
|
panelSettings.TabIndex = 3;
|
||||||
//
|
//
|
||||||
// checkAutoToggleClamshellMode
|
// checkAutoToggleClamshellMode
|
||||||
//
|
//
|
||||||
checkAutoToggleClamshellMode.AutoSize = true;
|
checkAutoToggleClamshellMode.AutoSize = true;
|
||||||
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
|
checkAutoToggleClamshellMode.Dock = DockStyle.Top;
|
||||||
checkAutoToggleClamshellMode.Location = new Point(10, 163);
|
checkAutoToggleClamshellMode.Location = new Point(20, 299);
|
||||||
checkAutoToggleClamshellMode.Margin = new Padding(2);
|
|
||||||
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
|
checkAutoToggleClamshellMode.Name = "checkAutoToggleClamshellMode";
|
||||||
checkAutoToggleClamshellMode.Padding = new Padding(2);
|
checkAutoToggleClamshellMode.Padding = new Padding(3);
|
||||||
checkAutoToggleClamshellMode.Size = new Size(481, 23);
|
checkAutoToggleClamshellMode.Size = new Size(952, 42);
|
||||||
checkAutoToggleClamshellMode.TabIndex = 58;
|
checkAutoToggleClamshellMode.TabIndex = 8;
|
||||||
checkAutoToggleClamshellMode.Text = "Auto Toggle Clamshell Mode";
|
checkAutoToggleClamshellMode.Text = "Auto Toggle Clamshell Mode";
|
||||||
checkAutoToggleClamshellMode.UseVisualStyleBackColor = true;
|
checkAutoToggleClamshellMode.UseVisualStyleBackColor = true;
|
||||||
checkAutoToggleClamshellMode.CheckedChanged += checkAutoToggleClamshellMode_CheckedChanged;
|
|
||||||
//
|
|
||||||
// checkAutoApplyWindowsPowerMode
|
|
||||||
//
|
|
||||||
checkAutoApplyWindowsPowerMode.AutoSize = true;
|
|
||||||
checkAutoApplyWindowsPowerMode.Dock = DockStyle.Top;
|
|
||||||
checkAutoApplyWindowsPowerMode.Location = new Point(20, 257);
|
|
||||||
checkAutoApplyWindowsPowerMode.Margin = new Padding(4, 3, 4, 3);
|
|
||||||
checkAutoApplyWindowsPowerMode.Name = "checkAutoApplyWindowsPowerMode";
|
|
||||||
checkAutoApplyWindowsPowerMode.Padding = new Padding(3);
|
|
||||||
checkAutoApplyWindowsPowerMode.Size = new Size(953, 42);
|
|
||||||
checkAutoApplyWindowsPowerMode.TabIndex = 54;
|
|
||||||
checkAutoApplyWindowsPowerMode.Text = "Auto Adjust Windows Power Mode";
|
|
||||||
checkAutoApplyWindowsPowerMode.UseVisualStyleBackColor = true;
|
|
||||||
//
|
//
|
||||||
// checkTopmost
|
// checkTopmost
|
||||||
//
|
//
|
||||||
checkTopmost.AutoSize = true;
|
checkTopmost.AutoSize = true;
|
||||||
checkTopmost.Dock = DockStyle.Top;
|
checkTopmost.Dock = DockStyle.Top;
|
||||||
checkTopmost.Location = new Point(20, 215);
|
checkTopmost.Location = new Point(20, 257);
|
||||||
checkTopmost.Margin = new Padding(4, 3, 4, 3);
|
checkTopmost.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkTopmost.Name = "checkTopmost";
|
checkTopmost.Name = "checkTopmost";
|
||||||
checkTopmost.Padding = new Padding(3);
|
checkTopmost.Padding = new Padding(3);
|
||||||
checkTopmost.Size = new Size(953, 42);
|
checkTopmost.Size = new Size(952, 42);
|
||||||
checkTopmost.TabIndex = 51;
|
checkTopmost.TabIndex = 6;
|
||||||
checkTopmost.Text = Strings.WindowTop;
|
checkTopmost.Text = Strings.WindowTop;
|
||||||
checkTopmost.UseVisualStyleBackColor = true;
|
checkTopmost.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
@@ -1063,12 +1107,12 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
checkNoOverdrive.AutoSize = true;
|
checkNoOverdrive.AutoSize = true;
|
||||||
checkNoOverdrive.Dock = DockStyle.Top;
|
checkNoOverdrive.Dock = DockStyle.Top;
|
||||||
checkNoOverdrive.Location = new Point(20, 173);
|
checkNoOverdrive.Location = new Point(20, 215);
|
||||||
checkNoOverdrive.Margin = new Padding(4, 3, 4, 3);
|
checkNoOverdrive.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkNoOverdrive.Name = "checkNoOverdrive";
|
checkNoOverdrive.Name = "checkNoOverdrive";
|
||||||
checkNoOverdrive.Padding = new Padding(3);
|
checkNoOverdrive.Padding = new Padding(3);
|
||||||
checkNoOverdrive.Size = new Size(953, 42);
|
checkNoOverdrive.Size = new Size(952, 42);
|
||||||
checkNoOverdrive.TabIndex = 52;
|
checkNoOverdrive.TabIndex = 5;
|
||||||
checkNoOverdrive.Text = Strings.DisableOverdrive;
|
checkNoOverdrive.Text = Strings.DisableOverdrive;
|
||||||
checkNoOverdrive.UseVisualStyleBackColor = true;
|
checkNoOverdrive.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
@@ -1080,8 +1124,8 @@ namespace GHelper
|
|||||||
checkUSBC.Margin = new Padding(4, 3, 4, 3);
|
checkUSBC.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkUSBC.Name = "checkUSBC";
|
checkUSBC.Name = "checkUSBC";
|
||||||
checkUSBC.Padding = new Padding(3);
|
checkUSBC.Padding = new Padding(3);
|
||||||
checkUSBC.Size = new Size(953, 42);
|
checkUSBC.Size = new Size(952, 42);
|
||||||
checkUSBC.TabIndex = 53;
|
checkUSBC.TabIndex = 4;
|
||||||
checkUSBC.Text = "Keep GPU disabled on USB-C charger in Optimized mode";
|
checkUSBC.Text = "Keep GPU disabled on USB-C charger in Optimized mode";
|
||||||
checkUSBC.UseVisualStyleBackColor = true;
|
checkUSBC.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
@@ -1093,8 +1137,8 @@ namespace GHelper
|
|||||||
checkVariBright.Margin = new Padding(4, 3, 4, 3);
|
checkVariBright.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkVariBright.Name = "checkVariBright";
|
checkVariBright.Name = "checkVariBright";
|
||||||
checkVariBright.Padding = new Padding(3);
|
checkVariBright.Padding = new Padding(3);
|
||||||
checkVariBright.Size = new Size(953, 42);
|
checkVariBright.Size = new Size(952, 42);
|
||||||
checkVariBright.TabIndex = 57;
|
checkVariBright.TabIndex = 3;
|
||||||
checkVariBright.Text = "AMD Display VariBright";
|
checkVariBright.Text = "AMD Display VariBright";
|
||||||
checkVariBright.UseVisualStyleBackColor = true;
|
checkVariBright.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
@@ -1106,34 +1150,89 @@ namespace GHelper
|
|||||||
checkGpuApps.Margin = new Padding(4, 3, 4, 3);
|
checkGpuApps.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkGpuApps.Name = "checkGpuApps";
|
checkGpuApps.Name = "checkGpuApps";
|
||||||
checkGpuApps.Padding = new Padding(3);
|
checkGpuApps.Padding = new Padding(3);
|
||||||
checkGpuApps.Size = new Size(953, 42);
|
checkGpuApps.Size = new Size(952, 42);
|
||||||
checkGpuApps.TabIndex = 55;
|
checkGpuApps.TabIndex = 2;
|
||||||
checkGpuApps.Text = "Stop all apps using GPU when switching to Eco";
|
checkGpuApps.Text = "Stop all apps using GPU when switching to Eco";
|
||||||
checkGpuApps.UseVisualStyleBackColor = true;
|
checkGpuApps.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// checkFnLock
|
// checkGPUFix
|
||||||
//
|
//
|
||||||
checkFnLock.AutoSize = true;
|
checkGPUFix.AutoSize = true;
|
||||||
checkFnLock.Dock = DockStyle.Top;
|
checkGPUFix.Dock = DockStyle.Top;
|
||||||
checkFnLock.Location = new Point(20, 5);
|
checkGPUFix.Location = new Point(20, 5);
|
||||||
checkFnLock.Margin = new Padding(4, 3, 4, 3);
|
checkGPUFix.Margin = new Padding(4, 3, 4, 3);
|
||||||
checkFnLock.MaximumSize = new Size(800, 0);
|
checkGPUFix.Name = "checkGPUFix";
|
||||||
checkFnLock.Name = "checkFnLock";
|
checkGPUFix.Padding = new Padding(3);
|
||||||
checkFnLock.Padding = new Padding(3);
|
checkGPUFix.Size = new Size(952, 42);
|
||||||
checkFnLock.Size = new Size(800, 42);
|
checkGPUFix.TabIndex = 9;
|
||||||
checkFnLock.TabIndex = 56;
|
checkGPUFix.Text = "Enable GPU on shutdown (prevents issue with Eco mode)";
|
||||||
checkFnLock.Text = "Process Fn+F hotkeys without Fn";
|
checkGPUFix.UseVisualStyleBackColor = true;
|
||||||
checkFnLock.UseVisualStyleBackColor = true;
|
//
|
||||||
|
// panelPower
|
||||||
|
//
|
||||||
|
panelPower.Controls.Add(numericHibernateAfter);
|
||||||
|
panelPower.Controls.Add(labelHibernateAfter);
|
||||||
|
panelPower.Controls.Add(pictureHibernate);
|
||||||
|
panelPower.Dock = DockStyle.Top;
|
||||||
|
panelPower.Location = new Point(15, 1267);
|
||||||
|
panelPower.Name = "panelPower";
|
||||||
|
panelPower.Size = new Size(983, 54);
|
||||||
|
panelPower.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// numericHibernateAfter
|
||||||
|
//
|
||||||
|
numericHibernateAfter.AccessibleName = "Minutes till Hibernation in sleep";
|
||||||
|
numericHibernateAfter.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
numericHibernateAfter.Increment = new decimal(new int[] { 10, 0, 0, 0 });
|
||||||
|
numericHibernateAfter.Location = new Point(810, 7);
|
||||||
|
numericHibernateAfter.Margin = new Padding(4, 3, 4, 3);
|
||||||
|
numericHibernateAfter.Maximum = new decimal(new int[] { 3000000, 0, 0, 0 });
|
||||||
|
numericHibernateAfter.Name = "numericHibernateAfter";
|
||||||
|
numericHibernateAfter.Size = new Size(152, 39);
|
||||||
|
numericHibernateAfter.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// labelHibernateAfter
|
||||||
|
//
|
||||||
|
labelHibernateAfter.AutoSize = true;
|
||||||
|
labelHibernateAfter.Location = new Point(59, 10);
|
||||||
|
labelHibernateAfter.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelHibernateAfter.Name = "labelHibernateAfter";
|
||||||
|
labelHibernateAfter.Size = new Size(457, 32);
|
||||||
|
labelHibernateAfter.TabIndex = 45;
|
||||||
|
labelHibernateAfter.Text = "Minutes till Hibernation in sleep (0 - OFF)";
|
||||||
|
//
|
||||||
|
// pictureHibernate
|
||||||
|
//
|
||||||
|
pictureHibernate.BackgroundImage = Resources.icons8_hibernate_32;
|
||||||
|
pictureHibernate.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
|
pictureHibernate.Location = new Point(20, 10);
|
||||||
|
pictureHibernate.Name = "pictureHibernate";
|
||||||
|
pictureHibernate.Size = new Size(32, 32);
|
||||||
|
pictureHibernate.TabIndex = 22;
|
||||||
|
pictureHibernate.TabStop = false;
|
||||||
|
//
|
||||||
|
// checkBootSound
|
||||||
|
//
|
||||||
|
checkBootSound.AutoSize = true;
|
||||||
|
checkBootSound.Dock = DockStyle.Top;
|
||||||
|
checkBootSound.Location = new Point(20, 173);
|
||||||
|
checkBootSound.Margin = new Padding(4, 3, 4, 3);
|
||||||
|
checkBootSound.Name = "checkBootSound";
|
||||||
|
checkBootSound.Padding = new Padding(3);
|
||||||
|
checkBootSound.Size = new Size(952, 42);
|
||||||
|
checkBootSound.TabIndex = 10;
|
||||||
|
checkBootSound.Text = "Boot Sound";
|
||||||
|
checkBootSound.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// Extra
|
// Extra
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(192F, 192F);
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
AutoScaleMode = AutoScaleMode.Dpi;
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
AutoScroll = true;
|
|
||||||
AutoSize = true;
|
AutoSize = true;
|
||||||
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
ClientSize = new Size(1013, 1355);
|
ClientSize = new Size(1013, 1467);
|
||||||
Controls.Add(panelServices);
|
Controls.Add(panelServices);
|
||||||
|
Controls.Add(panelPower);
|
||||||
Controls.Add(panelSettings);
|
Controls.Add(panelSettings);
|
||||||
Controls.Add(panelSettingsHeader);
|
Controls.Add(panelSettingsHeader);
|
||||||
Controls.Add(panelBacklight);
|
Controls.Add(panelBacklight);
|
||||||
@@ -1145,7 +1244,7 @@ namespace GHelper
|
|||||||
MaximizeBox = false;
|
MaximizeBox = false;
|
||||||
MdiChildrenMinimizedAnchorBottom = false;
|
MdiChildrenMinimizedAnchorBottom = false;
|
||||||
MinimizeBox = false;
|
MinimizeBox = false;
|
||||||
MinimumSize = new Size(1034, 71);
|
MinimumSize = new Size(1033, 0);
|
||||||
Name = "Extra";
|
Name = "Extra";
|
||||||
Padding = new Padding(15);
|
Padding = new Padding(15);
|
||||||
ShowIcon = false;
|
ShowIcon = false;
|
||||||
@@ -1159,10 +1258,9 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureBindings).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBindings).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureHelp).EndInit();
|
||||||
panelBindings.ResumeLayout(false);
|
panelBindings.ResumeLayout(false);
|
||||||
|
panelBindings.PerformLayout();
|
||||||
tableBindings.ResumeLayout(false);
|
tableBindings.ResumeLayout(false);
|
||||||
tableBindings.PerformLayout();
|
tableBindings.PerformLayout();
|
||||||
tableKeys.ResumeLayout(false);
|
|
||||||
tableKeys.PerformLayout();
|
|
||||||
panelBacklightHeader.ResumeLayout(false);
|
panelBacklightHeader.ResumeLayout(false);
|
||||||
panelBacklightHeader.PerformLayout();
|
panelBacklightHeader.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBacklight).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBacklight).EndInit();
|
||||||
@@ -1180,6 +1278,10 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)pictureSettings).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureSettings).EndInit();
|
||||||
panelSettings.ResumeLayout(false);
|
panelSettings.ResumeLayout(false);
|
||||||
panelSettings.PerformLayout();
|
panelSettings.PerformLayout();
|
||||||
|
panelPower.ResumeLayout(false);
|
||||||
|
panelPower.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)numericHibernateAfter).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureHibernate).EndInit();
|
||||||
ResumeLayout(false);
|
ResumeLayout(false);
|
||||||
PerformLayout();
|
PerformLayout();
|
||||||
}
|
}
|
||||||
@@ -1191,8 +1293,8 @@ namespace GHelper
|
|||||||
private Panel panelBindingsHeader;
|
private Panel panelBindingsHeader;
|
||||||
private Panel panelBindings;
|
private Panel panelBindings;
|
||||||
private TableLayoutPanel tableBindings;
|
private TableLayoutPanel tableBindings;
|
||||||
private Label label1;
|
private Label labelFNC;
|
||||||
private TextBox textBox1;
|
private TextBox textM2;
|
||||||
private TextBox textM1;
|
private TextBox textM1;
|
||||||
private RComboBox comboM1;
|
private RComboBox comboM1;
|
||||||
private Label labelM1;
|
private Label labelM1;
|
||||||
@@ -1211,8 +1313,6 @@ namespace GHelper
|
|||||||
private TextBox textFNC;
|
private TextBox textFNC;
|
||||||
private PictureBox pictureHelp;
|
private PictureBox pictureHelp;
|
||||||
private TableLayoutPanel tableKeys;
|
private TableLayoutPanel tableKeys;
|
||||||
private Label labelFNC;
|
|
||||||
private TextBox textM2;
|
|
||||||
private PictureBox pictureBindings;
|
private PictureBox pictureBindings;
|
||||||
private Label labelBindings;
|
private Label labelBindings;
|
||||||
private Panel panelBacklightHeader;
|
private Panel panelBacklightHeader;
|
||||||
@@ -1250,18 +1350,27 @@ namespace GHelper
|
|||||||
private PictureBox pictureSettings;
|
private PictureBox pictureSettings;
|
||||||
private Label labelSettings;
|
private Label labelSettings;
|
||||||
private Panel panelSettings;
|
private Panel panelSettings;
|
||||||
private CheckBox checkAutoApplyWindowsPowerMode;
|
|
||||||
private CheckBox checkTopmost;
|
private CheckBox checkTopmost;
|
||||||
private CheckBox checkNoOverdrive;
|
private CheckBox checkNoOverdrive;
|
||||||
private CheckBox checkUSBC;
|
private CheckBox checkUSBC;
|
||||||
private CheckBox checkVariBright;
|
private CheckBox checkVariBright;
|
||||||
private CheckBox checkGpuApps;
|
private CheckBox checkGpuApps;
|
||||||
private CheckBox checkFnLock;
|
|
||||||
private PictureBox pictureBacklight;
|
private PictureBox pictureBacklight;
|
||||||
private Label labelBacklightTitle;
|
private Label labelBacklightTitle;
|
||||||
private PictureBox pictureService;
|
private PictureBox pictureService;
|
||||||
private Slider sliderBrightness;
|
private Slider sliderBrightness;
|
||||||
private PictureBox pictureLog;
|
private PictureBox pictureLog;
|
||||||
private CheckBox checkAutoToggleClamshellMode;
|
private CheckBox checkAutoToggleClamshellMode;
|
||||||
|
private Label labelFNE;
|
||||||
|
private RComboBox comboFNE;
|
||||||
|
private TextBox textFNE;
|
||||||
|
private Slider slider1;
|
||||||
|
private Panel panelPower;
|
||||||
|
private PictureBox pictureHibernate;
|
||||||
|
private Label labelHibernateAfter;
|
||||||
|
private NumericUpDown numericHibernateAfter;
|
||||||
|
private CheckBox checkGPUFix;
|
||||||
|
private ToolTip toolTip;
|
||||||
|
private CheckBox checkBootSound;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
279
app/Extra.cs
@@ -2,7 +2,9 @@
|
|||||||
using GHelper.Gpu.AMD;
|
using GHelper.Gpu.AMD;
|
||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using GHelper.Input;
|
using GHelper.Input;
|
||||||
|
using GHelper.Mode;
|
||||||
using GHelper.UI;
|
using GHelper.UI;
|
||||||
|
using GHelper.USB;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace GHelper
|
namespace GHelper
|
||||||
@@ -11,26 +13,37 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
|
|
||||||
ScreenControl screenControl = new ScreenControl();
|
ScreenControl screenControl = new ScreenControl();
|
||||||
|
ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
||||||
|
|
||||||
|
const string EMPTY = "--------------";
|
||||||
|
|
||||||
Dictionary<string, string> customActions = new Dictionary<string, string>
|
|
||||||
{
|
|
||||||
{"","--------------" },
|
|
||||||
{"mute", Properties.Strings.VolumeMute},
|
|
||||||
{"screenshot", Properties.Strings.PrintScreen},
|
|
||||||
{"play", Properties.Strings.PlayPause},
|
|
||||||
{"aura", Properties.Strings.ToggleAura},
|
|
||||||
{"performance", Properties.Strings.PerformanceMode},
|
|
||||||
{"screen", Properties.Strings.ToggleScreen},
|
|
||||||
{"miniled", Properties.Strings.ToggleMiniled},
|
|
||||||
{"fnlock", Properties.Strings.ToggleFnLock},
|
|
||||||
{"brightness_down", Properties.Strings.BrightnessDown},
|
|
||||||
{"brightness_up", Properties.Strings.BrightnessUp},
|
|
||||||
{"custom", Properties.Strings.Custom}
|
|
||||||
};
|
|
||||||
|
|
||||||
private void SetKeyCombo(ComboBox combo, TextBox txbox, string name)
|
private void SetKeyCombo(ComboBox combo, TextBox txbox, string name)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Dictionary<string, string> customActions = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{"", EMPTY},
|
||||||
|
{"mute", Properties.Strings.VolumeMute},
|
||||||
|
{"screenshot", Properties.Strings.PrintScreen},
|
||||||
|
{"play", Properties.Strings.PlayPause},
|
||||||
|
{"aura", Properties.Strings.ToggleAura},
|
||||||
|
{"performance", Properties.Strings.PerformanceMode},
|
||||||
|
{"screen", Properties.Strings.ToggleScreen},
|
||||||
|
{"miniled", Properties.Strings.ToggleMiniled},
|
||||||
|
{"fnlock", Properties.Strings.ToggleFnLock},
|
||||||
|
{"brightness_down", Properties.Strings.BrightnessDown},
|
||||||
|
{"brightness_up", Properties.Strings.BrightnessUp},
|
||||||
|
{"ghelper", Properties.Strings.OpenGHelper},
|
||||||
|
{"custom", Properties.Strings.Custom}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (AppConfig.IsDUO())
|
||||||
|
{
|
||||||
|
customActions.Add("screenpad_down", Properties.Strings.ScreenPadDown);
|
||||||
|
customActions.Add("screenpad_up", Properties.Strings.ScreenPadUp);
|
||||||
|
}
|
||||||
|
|
||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "m1":
|
case "m1":
|
||||||
@@ -44,6 +57,7 @@ namespace GHelper
|
|||||||
break;
|
break;
|
||||||
case "m4":
|
case "m4":
|
||||||
customActions[""] = Properties.Strings.OpenGHelper;
|
customActions[""] = Properties.Strings.OpenGHelper;
|
||||||
|
customActions.Remove("ghelper");
|
||||||
break;
|
break;
|
||||||
case "fnf4":
|
case "fnf4":
|
||||||
customActions[""] = Properties.Strings.ToggleAura;
|
customActions[""] = Properties.Strings.ToggleAura;
|
||||||
@@ -53,6 +67,15 @@ namespace GHelper
|
|||||||
customActions[""] = Properties.Strings.ToggleFnLock;
|
customActions[""] = Properties.Strings.ToggleFnLock;
|
||||||
customActions.Remove("fnlock");
|
customActions.Remove("fnlock");
|
||||||
break;
|
break;
|
||||||
|
case "fne":
|
||||||
|
customActions[""] = "Calculator";
|
||||||
|
break;
|
||||||
|
case "paddle":
|
||||||
|
customActions[""] = EMPTY;
|
||||||
|
break;
|
||||||
|
case "cc":
|
||||||
|
customActions[""] = EMPTY;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
combo.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
@@ -94,6 +117,7 @@ namespace GHelper
|
|||||||
checkSleep.Text = Properties.Strings.Sleep;
|
checkSleep.Text = Properties.Strings.Sleep;
|
||||||
checkBoot.Text = Properties.Strings.Boot;
|
checkBoot.Text = Properties.Strings.Boot;
|
||||||
checkShutdown.Text = Properties.Strings.Shutdown;
|
checkShutdown.Text = Properties.Strings.Shutdown;
|
||||||
|
checkBootSound.Text = Properties.Strings.BootSound;
|
||||||
|
|
||||||
labelSpeed.Text = Properties.Strings.AnimationSpeed;
|
labelSpeed.Text = Properties.Strings.AnimationSpeed;
|
||||||
//labelBrightness.Text = Properties.Strings.Brightness;
|
//labelBrightness.Text = Properties.Strings.Brightness;
|
||||||
@@ -104,8 +128,6 @@ namespace GHelper
|
|||||||
checkNoOverdrive.Text = Properties.Strings.DisableOverdrive;
|
checkNoOverdrive.Text = Properties.Strings.DisableOverdrive;
|
||||||
checkTopmost.Text = Properties.Strings.WindowTop;
|
checkTopmost.Text = Properties.Strings.WindowTop;
|
||||||
checkUSBC.Text = Properties.Strings.OptimizedUSBC;
|
checkUSBC.Text = Properties.Strings.OptimizedUSBC;
|
||||||
checkAutoApplyWindowsPowerMode.Text = Properties.Strings.ApplyWindowsPowerPlan;
|
|
||||||
checkFnLock.Text = Properties.Strings.FnLock;
|
|
||||||
checkAutoToggleClamshellMode.Text = Properties.Strings.ToggleClamshellMode;
|
checkAutoToggleClamshellMode.Text = Properties.Strings.ToggleClamshellMode;
|
||||||
|
|
||||||
labelBacklightKeyboard.Text = Properties.Strings.Keyboard;
|
labelBacklightKeyboard.Text = Properties.Strings.Keyboard;
|
||||||
@@ -114,31 +136,93 @@ namespace GHelper
|
|||||||
labelBacklightLogo.Text = Properties.Strings.Logo;
|
labelBacklightLogo.Text = Properties.Strings.Logo;
|
||||||
|
|
||||||
checkGpuApps.Text = Properties.Strings.KillGpuApps;
|
checkGpuApps.Text = Properties.Strings.KillGpuApps;
|
||||||
|
labelHibernateAfter.Text = Properties.Strings.HibernateAfter;
|
||||||
|
|
||||||
Text = Properties.Strings.ExtraSettings;
|
Text = Properties.Strings.ExtraSettings;
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("Duo"))
|
if (AppConfig.IsARCNM())
|
||||||
{
|
{
|
||||||
customActions.Add("screenpad_down", Properties.Strings.ScreenPadDown);
|
labelM3.Text = "FN+F6";
|
||||||
customActions.Add("screenpad_up", Properties.Strings.ScreenPadUp);
|
labelM1.Visible = comboM1.Visible = textM1.Visible = false;
|
||||||
|
labelM2.Visible = comboM2.Visible = textM2.Visible = false;
|
||||||
|
labelM4.Visible = comboM4.Visible = textM4.Visible = false;
|
||||||
|
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (AppConfig.NoMKeys())
|
||||||
|
{
|
||||||
|
labelM1.Text = "FN+F2";
|
||||||
|
labelM2.Text = "FN+F3";
|
||||||
|
labelM3.Text = "FN+F4";
|
||||||
|
labelM4.Visible = comboM4.Visible = textM4.Visible = AppConfig.IsDUO();
|
||||||
|
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.NoAura())
|
||||||
|
{
|
||||||
|
labelFNF4.Visible = comboFNF4.Visible = textFNF4.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!AppConfig.IsTUF())
|
||||||
|
{
|
||||||
|
labelFNE.Visible = comboFNE.Visible = textFNE.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) < 0)
|
||||||
|
{
|
||||||
|
checkGpuApps.Visible = false;
|
||||||
|
checkUSBC.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Change text and hide irrelevant options on the ROG Ally,
|
||||||
|
// which is a bit of a special case piece of hardware.
|
||||||
|
if (AppConfig.IsAlly())
|
||||||
|
{
|
||||||
|
labelM1.Visible = comboM1.Visible = textM1.Visible = false;
|
||||||
|
labelM2.Visible = comboM2.Visible = textM2.Visible = false;
|
||||||
|
|
||||||
|
// Re-label M3 and M4 and FNF4 to match the front labels.
|
||||||
|
labelM3.Text = "Ctrl Center";
|
||||||
|
labelM4.Text = "ROG";
|
||||||
|
labelFNF4.Text = "Back Paddles";
|
||||||
|
|
||||||
|
// Hide all of the FN options, as the Ally has no special keyboard FN key.
|
||||||
|
labelFNC.Visible = false;
|
||||||
|
comboFNC.Visible = false;
|
||||||
|
textFNC.Visible = false;
|
||||||
|
|
||||||
|
SetKeyCombo(comboM3, textM3, "cc");
|
||||||
|
SetKeyCombo(comboM4, textM4, "m4");
|
||||||
|
SetKeyCombo(comboFNF4, textFNF4, "paddle");
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetKeyCombo(comboM1, textM1, "m1");
|
||||||
|
SetKeyCombo(comboM2, textM2, "m2");
|
||||||
|
|
||||||
|
SetKeyCombo(comboM3, textM3, "m3");
|
||||||
|
SetKeyCombo(comboM4, textM4, "m4");
|
||||||
|
SetKeyCombo(comboFNF4, textFNF4, "fnf4");
|
||||||
|
|
||||||
|
SetKeyCombo(comboFNC, textFNC, "fnc");
|
||||||
|
SetKeyCombo(comboFNE, textFNE, "fne");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.IsStrix())
|
||||||
|
{
|
||||||
|
labelM4.Text = "M5/ROG";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
InitTheme();
|
InitTheme();
|
||||||
|
|
||||||
SetKeyCombo(comboM1, textM1, "m1");
|
|
||||||
SetKeyCombo(comboM2, textM2, "m2");
|
|
||||||
SetKeyCombo(comboM3, textM3, "m3");
|
|
||||||
SetKeyCombo(comboM4, textM4, "m4");
|
|
||||||
SetKeyCombo(comboFNF4, textFNF4, "fnf4");
|
|
||||||
SetKeyCombo(comboFNC, textFNC, "fnc");
|
|
||||||
|
|
||||||
Shown += Keyboard_Shown;
|
Shown += Keyboard_Shown;
|
||||||
|
|
||||||
comboKeyboardSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboKeyboardSpeed.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboKeyboardSpeed.DataSource = new BindingSource(AsusUSB.GetSpeeds(), null);
|
comboKeyboardSpeed.DataSource = new BindingSource(Aura.GetSpeeds(), null);
|
||||||
comboKeyboardSpeed.DisplayMember = "Value";
|
comboKeyboardSpeed.DisplayMember = "Value";
|
||||||
comboKeyboardSpeed.ValueMember = "Key";
|
comboKeyboardSpeed.ValueMember = "Key";
|
||||||
comboKeyboardSpeed.SelectedValue = AsusUSB.Speed;
|
comboKeyboardSpeed.SelectedValue = Aura.Speed;
|
||||||
comboKeyboardSpeed.SelectedValueChanged += ComboKeyboardSpeed_SelectedValueChanged;
|
comboKeyboardSpeed.SelectedValueChanged += ComboKeyboardSpeed_SelectedValueChanged;
|
||||||
|
|
||||||
// Keyboard
|
// Keyboard
|
||||||
@@ -185,7 +269,7 @@ namespace GHelper
|
|||||||
checkSleepLogo.CheckedChanged += CheckPower_CheckedChanged;
|
checkSleepLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||||
checkShutdownLogo.CheckedChanged += CheckPower_CheckedChanged;
|
checkShutdownLogo.CheckedChanged += CheckPower_CheckedChanged;
|
||||||
|
|
||||||
if (!AppConfig.ContainsModel("Strix"))
|
if (!AppConfig.IsStrix())
|
||||||
{
|
{
|
||||||
labelBacklightBar.Visible = false;
|
labelBacklightBar.Visible = false;
|
||||||
checkAwakeBar.Visible = false;
|
checkAwakeBar.Visible = false;
|
||||||
@@ -193,26 +277,32 @@ namespace GHelper
|
|||||||
checkSleepBar.Visible = false;
|
checkSleepBar.Visible = false;
|
||||||
checkShutdownBar.Visible = false;
|
checkShutdownBar.Visible = false;
|
||||||
|
|
||||||
if (!AppConfig.ContainsModel("Z13"))
|
|
||||||
{
|
|
||||||
labelBacklightLid.Visible = false;
|
|
||||||
checkAwakeLid.Visible = false;
|
|
||||||
checkBootLid.Visible = false;
|
|
||||||
checkSleepLid.Visible = false;
|
|
||||||
checkShutdownLid.Visible = false;
|
|
||||||
|
|
||||||
labelBacklightLogo.Visible = false;
|
|
||||||
checkAwakeLogo.Visible = false;
|
|
||||||
checkBootLogo.Visible = false;
|
|
||||||
checkSleepLogo.Visible = false;
|
|
||||||
checkShutdownLogo.Visible = false;
|
|
||||||
|
|
||||||
labelBacklightKeyboard.Visible = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((!AppConfig.IsStrix() && !AppConfig.IsZ13()) || AppConfig.IsStrixLimitedRGB())
|
||||||
|
{
|
||||||
|
labelBacklightLid.Visible = false;
|
||||||
|
checkAwakeLid.Visible = false;
|
||||||
|
checkBootLid.Visible = false;
|
||||||
|
checkSleepLid.Visible = false;
|
||||||
|
checkShutdownLid.Visible = false;
|
||||||
|
|
||||||
|
labelBacklightLogo.Visible = false;
|
||||||
|
checkAwakeLogo.Visible = false;
|
||||||
|
checkBootLogo.Visible = false;
|
||||||
|
checkSleepLogo.Visible = false;
|
||||||
|
checkShutdownLogo.Visible = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!AppConfig.IsStrix() && !AppConfig.IsZ13())
|
||||||
|
{
|
||||||
|
labelBacklightKeyboard.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//checkAutoToggleClamshellMode.Visible = clamshellControl.IsExternalDisplayConnected();
|
||||||
checkAutoToggleClamshellMode.Checked = AppConfig.Is("toggle_clamshell_mode");
|
checkAutoToggleClamshellMode.Checked = AppConfig.Is("toggle_clamshell_mode");
|
||||||
|
checkAutoToggleClamshellMode.CheckedChanged += checkAutoToggleClamshellMode_CheckedChanged;
|
||||||
|
|
||||||
checkTopmost.Checked = AppConfig.Is("topmost");
|
checkTopmost.Checked = AppConfig.Is("topmost");
|
||||||
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
checkTopmost.CheckedChanged += CheckTopmost_CheckedChanged; ;
|
||||||
@@ -223,9 +313,6 @@ namespace GHelper
|
|||||||
checkUSBC.Checked = AppConfig.Is("optimized_usbc");
|
checkUSBC.Checked = AppConfig.Is("optimized_usbc");
|
||||||
checkUSBC.CheckedChanged += CheckUSBC_CheckedChanged;
|
checkUSBC.CheckedChanged += CheckUSBC_CheckedChanged;
|
||||||
|
|
||||||
checkAutoApplyWindowsPowerMode.Checked = (AppConfig.Get("auto_apply_power_plan") != 0);
|
|
||||||
checkAutoApplyWindowsPowerMode.CheckedChanged += checkAutoApplyWindowsPowerMode_CheckedChanged;
|
|
||||||
|
|
||||||
sliderBrightness.Value = InputDispatcher.GetBacklight();
|
sliderBrightness.Value = InputDispatcher.GetBacklight();
|
||||||
sliderBrightness.ValueChanged += SliderBrightness_ValueChanged;
|
sliderBrightness.ValueChanged += SliderBrightness_ValueChanged;
|
||||||
|
|
||||||
@@ -242,17 +329,56 @@ namespace GHelper
|
|||||||
checkGpuApps.Checked = AppConfig.Is("kill_gpu_apps");
|
checkGpuApps.Checked = AppConfig.Is("kill_gpu_apps");
|
||||||
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
|
checkGpuApps.CheckedChanged += CheckGpuApps_CheckedChanged;
|
||||||
|
|
||||||
checkFnLock.Checked = AppConfig.Is("fn_lock");
|
checkBootSound.Checked = (Program.acpi.DeviceGet(AsusACPI.BootSound) == 1);
|
||||||
checkFnLock.CheckedChanged += CheckFnLock_CheckedChanged; ;
|
checkBootSound.CheckedChanged += CheckBootSound_CheckedChanged;
|
||||||
|
|
||||||
pictureHelp.Click += PictureHelp_Click;
|
pictureHelp.Click += PictureHelp_Click;
|
||||||
|
|
||||||
buttonServices.Click += ButtonServices_Click;
|
buttonServices.Click += ButtonServices_Click;
|
||||||
|
|
||||||
pictureLog.Click += PictureLog_Click;
|
pictureLog.Click += PictureLog_Click;
|
||||||
|
|
||||||
|
checkGPUFix.Visible = AppConfig.IsGPUFixNeeded();
|
||||||
|
checkGPUFix.Checked = AppConfig.IsGPUFix();
|
||||||
|
checkGPUFix.CheckedChanged += CheckGPUFix_CheckedChanged;
|
||||||
|
|
||||||
|
toolTip.SetToolTip(checkAutoToggleClamshellMode, "Disable sleep on lid close when plugged in and external monitor is connected");
|
||||||
|
|
||||||
InitVariBright();
|
InitVariBright();
|
||||||
InitServices();
|
InitServices();
|
||||||
|
InitHibernate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckBootSound_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.BootSound, (checkBootSound.Checked ? 1 : 0), "BootSound");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CheckGPUFix_CheckedChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("gpu_fix", (checkGPUFix.Checked ? 1 : 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitHibernate()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
int hibernate = PowerNative.GetHibernateAfter();
|
||||||
|
if (hibernate < 0 || hibernate > numericHibernateAfter.Maximum) hibernate = 0;
|
||||||
|
numericHibernateAfter.Value = hibernate;
|
||||||
|
numericHibernateAfter.ValueChanged += NumericHibernateAfter_ValueChanged;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
panelPower.Visible = false;
|
||||||
|
Logger.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void NumericHibernateAfter_ValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
PowerNative.SetHibernateAfter((int)numericHibernateAfter.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PictureLog_Click(object? sender, EventArgs e)
|
private void PictureLog_Click(object? sender, EventArgs e)
|
||||||
@@ -268,9 +394,14 @@ namespace GHelper
|
|||||||
|
|
||||||
private void SliderBrightness_ValueChanged(object? sender, EventArgs e)
|
private void SliderBrightness_ValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("keyboard_brightness", sliderBrightness.Value);
|
bool onBattery = SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online;
|
||||||
AppConfig.Set("keyboard_brightness_ac", sliderBrightness.Value);
|
|
||||||
AsusUSB.ApplyBrightness(sliderBrightness.Value, "Slider");
|
if (onBattery)
|
||||||
|
AppConfig.Set("keyboard_brightness_ac", sliderBrightness.Value);
|
||||||
|
else
|
||||||
|
AppConfig.Set("keyboard_brightness", sliderBrightness.Value);
|
||||||
|
|
||||||
|
Aura.ApplyBrightness(sliderBrightness.Value, "Slider");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitServices()
|
private void InitServices()
|
||||||
@@ -298,7 +429,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
buttonServices.Enabled = false;
|
buttonServices.Enabled = false;
|
||||||
|
|
||||||
if (OptimizationService.IsRunning())
|
if (OptimizationService.GetRunningCount() > 0)
|
||||||
{
|
{
|
||||||
labelServices.Text = Properties.Strings.StoppingServices + " ...";
|
labelServices.Text = Properties.Strings.StoppingServices + " ...";
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
@@ -337,6 +468,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
using (var amdControl = new AmdGpuControl())
|
using (var amdControl = new AmdGpuControl())
|
||||||
{
|
{
|
||||||
int variBrightSupported = 0, VariBrightEnabled;
|
int variBrightSupported = 0, VariBrightEnabled;
|
||||||
@@ -369,15 +501,6 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckFnLock_CheckedChanged(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
int fnLock = checkFnLock.Checked ? 1 : 0;
|
|
||||||
AppConfig.Set("fn_lock", fnLock);
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.FnLock, (fnLock == 1) ? 0 : 1, "FnLock");
|
|
||||||
|
|
||||||
Program.inputDispatcher.RegisterKeys();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e)
|
private void CheckGpuApps_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0));
|
AppConfig.Set("kill_gpu_apps", (checkGpuApps.Checked ? 1 : 0));
|
||||||
@@ -393,7 +516,7 @@ namespace GHelper
|
|||||||
private void CheckXMG_CheckedChanged(object? sender, EventArgs e)
|
private void CheckXMG_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("xmg_light", (checkXMG.Checked ? 1 : 0));
|
AppConfig.Set("xmg_light", (checkXMG.Checked ? 1 : 0));
|
||||||
AsusUSB.ApplyXGMLight(checkXMG.Checked);
|
XGM.Light(checkXMG.Checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CheckUSBC_CheckedChanged(object? sender, EventArgs e)
|
private void CheckUSBC_CheckedChanged(object? sender, EventArgs e)
|
||||||
@@ -441,14 +564,14 @@ namespace GHelper
|
|||||||
AppConfig.Set("keyboard_sleep_logo", (checkSleepLogo.Checked ? 1 : 0));
|
AppConfig.Set("keyboard_sleep_logo", (checkSleepLogo.Checked ? 1 : 0));
|
||||||
AppConfig.Set("keyboard_shutdown_logo", (checkShutdownLogo.Checked ? 1 : 0));
|
AppConfig.Set("keyboard_shutdown_logo", (checkShutdownLogo.Checked ? 1 : 0));
|
||||||
|
|
||||||
AsusUSB.ApplyAuraPower();
|
Aura.ApplyPower();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboKeyboardSpeed_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_speed", (int)comboKeyboardSpeed.SelectedValue);
|
AppConfig.Set("aura_speed", (int)comboKeyboardSpeed.SelectedValue);
|
||||||
AsusUSB.ApplyAura();
|
Aura.ApplyAura();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -466,16 +589,20 @@ namespace GHelper
|
|||||||
Left = Program.settingsForm.Left - Width - 5;
|
Left = Program.settingsForm.Left - Width - 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkAutoApplyWindowsPowerMode_CheckedChanged(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
AppConfig.Set("auto_apply_power_plan", checkAutoApplyWindowsPowerMode.Checked ? 1 : 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkAutoToggleClamshellMode_CheckedChanged(object sender, EventArgs e)
|
private void checkAutoToggleClamshellMode_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("toggle_clamshell_mode", checkAutoToggleClamshellMode.Checked ? 1 : 0);
|
AppConfig.Set("toggle_clamshell_mode", checkAutoToggleClamshellMode.Checked ? 1 : 0);
|
||||||
ClamshellModeControl ctrl = new ClamshellModeControl();
|
|
||||||
ctrl.ToggleLidAction();
|
if (checkAutoToggleClamshellMode.Checked)
|
||||||
|
{
|
||||||
|
clamshellControl.ToggleLidAction();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClamshellModeControl.DisableClamshellMode();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,4 +117,7 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
||||||
185
app/Fan/FanSensorControl.cs
Normal file
@@ -0,0 +1,185 @@
|
|||||||
|
using GHelper.Mode;
|
||||||
|
|
||||||
|
namespace GHelper.Fan
|
||||||
|
{
|
||||||
|
public class FanSensorControl
|
||||||
|
{
|
||||||
|
public const int DEFAULT_FAN_MIN = 18;
|
||||||
|
public const int DEFAULT_FAN_MAX = 58;
|
||||||
|
|
||||||
|
public const int XGM_FAN_MAX = 72;
|
||||||
|
|
||||||
|
public const int INADEQUATE_MAX = 92;
|
||||||
|
|
||||||
|
const int FAN_COUNT = 3;
|
||||||
|
|
||||||
|
Fans fansForm;
|
||||||
|
ModeControl modeControl = Program.modeControl;
|
||||||
|
|
||||||
|
static int[] measuredMax;
|
||||||
|
static int sameCount = 0;
|
||||||
|
|
||||||
|
static System.Timers.Timer timer = default!;
|
||||||
|
|
||||||
|
static int[] _fanMax = InitFanMax();
|
||||||
|
static bool _fanRpm = AppConfig.IsNotFalse("fan_rpm");
|
||||||
|
|
||||||
|
public FanSensorControl(Fans fansForm)
|
||||||
|
{
|
||||||
|
this.fansForm = fansForm;
|
||||||
|
timer = new System.Timers.Timer(1000);
|
||||||
|
timer.Elapsed += Timer_Elapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int[] InitFanMax()
|
||||||
|
{
|
||||||
|
int[] defaultMax = GetDefaultMax();
|
||||||
|
|
||||||
|
return new int[3] {
|
||||||
|
AppConfig.Get("fan_max_" + (int)AsusFan.CPU, defaultMax[(int)AsusFan.CPU]),
|
||||||
|
AppConfig.Get("fan_max_" + (int)AsusFan.GPU, defaultMax[(int)AsusFan.GPU]),
|
||||||
|
AppConfig.Get("fan_max_" + (int)AsusFan.Mid, defaultMax[(int)AsusFan.Mid])
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int[] GetDefaultMax()
|
||||||
|
{
|
||||||
|
if (AppConfig.ContainsModel("GA401I")) return new int[3] { 78, 76, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("GA401")) return new int[3] { 71, 73, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("GA402")) return new int[3] { 55, 56, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("G513R")) return new int[3] { 58, 60, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("G513Q")) return new int[3] { 69, 69, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("GA503")) return new int[3] { 64, 64, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GU603")) return new int[3] { 62, 64, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("FA507R")) return new int[3] { 63, 57, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("FA507X")) return new int[3] { 63, 68, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GX650")) return new int[3] { 62, 62, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("G732")) return new int[3] { 61, 60, DEFAULT_FAN_MAX };
|
||||||
|
if (AppConfig.ContainsModel("G713")) return new int[3] { 56, 60, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("Z301")) return new int[3] { 72, 64, DEFAULT_FAN_MAX };
|
||||||
|
|
||||||
|
if (AppConfig.ContainsModel("GV601")) return new int[3] { 78, 59, 85 };
|
||||||
|
|
||||||
|
return new int[3] { DEFAULT_FAN_MAX, DEFAULT_FAN_MAX, DEFAULT_FAN_MAX };
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetFanMax(AsusFan device)
|
||||||
|
{
|
||||||
|
if (device == AsusFan.XGM) return XGM_FAN_MAX;
|
||||||
|
|
||||||
|
if (_fanMax[(int)device] < 0 || _fanMax[(int)device] > INADEQUATE_MAX)
|
||||||
|
SetFanMax(device, DEFAULT_FAN_MAX);
|
||||||
|
|
||||||
|
return _fanMax[(int)device];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetFanMax(AsusFan device, int value)
|
||||||
|
{
|
||||||
|
_fanMax[(int)device] = value;
|
||||||
|
AppConfig.Set("fan_max_" + (int)device, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool fanRpm
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _fanRpm;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
AppConfig.Set("fan_rpm", value ? 1 : 0);
|
||||||
|
_fanRpm = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string FormatFan(AsusFan device, int value)
|
||||||
|
{
|
||||||
|
if (value < 0) return null;
|
||||||
|
|
||||||
|
if (value > GetFanMax(device) && value <= INADEQUATE_MAX) SetFanMax(device, value);
|
||||||
|
|
||||||
|
if (fanRpm)
|
||||||
|
return Properties.Strings.FanSpeed + ": " + (value * 100).ToString() + "RPM";
|
||||||
|
else
|
||||||
|
return Properties.Strings.FanSpeed + ": " + Math.Min(Math.Round((float)value / GetFanMax(device) * 100), 100).ToString() + "%"; // relatively to max RPM
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartCalibration()
|
||||||
|
{
|
||||||
|
|
||||||
|
measuredMax = new int[] { 0, 0, 0 };
|
||||||
|
timer.Enabled = true;
|
||||||
|
|
||||||
|
for (int i = 0; i < FAN_COUNT; i++)
|
||||||
|
AppConfig.Remove("fan_max_" + i);
|
||||||
|
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AsusACPI.PerformanceTurbo, "ModeCalibration");
|
||||||
|
|
||||||
|
for (int i = 0; i < FAN_COUNT; i++)
|
||||||
|
Program.acpi.SetFanCurve((AsusFan)i, new byte[] { 20, 30, 40, 50, 60, 70, 80, 90, 100, 100, 100, 100, 100, 100, 100, 100 });
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
int fan;
|
||||||
|
bool same = true;
|
||||||
|
|
||||||
|
for (int i = 0; i < FAN_COUNT; i++)
|
||||||
|
{
|
||||||
|
fan = Program.acpi.GetFan((AsusFan)i);
|
||||||
|
if (fan > measuredMax[i])
|
||||||
|
{
|
||||||
|
measuredMax[i] = fan;
|
||||||
|
same = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (same) sameCount++;
|
||||||
|
else sameCount = 0;
|
||||||
|
|
||||||
|
string label = "Measuring Max Speed - CPU: " + measuredMax[(int)AsusFan.CPU] * 100 + ", GPU: " + measuredMax[(int)AsusFan.GPU] * 100;
|
||||||
|
if (measuredMax[(int)AsusFan.Mid] > 10) label = label + ", Mid: " + measuredMax[(int)AsusFan.Mid] * 100;
|
||||||
|
label = label + " (" + sameCount + "s)";
|
||||||
|
|
||||||
|
fansForm.LabelFansResult(label);
|
||||||
|
|
||||||
|
if (sameCount >= 15)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < FAN_COUNT; i++)
|
||||||
|
{
|
||||||
|
if (measuredMax[i] > 30 && measuredMax[i] < INADEQUATE_MAX) SetFanMax((AsusFan)i, measuredMax[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
sameCount = 0;
|
||||||
|
FinishCalibration();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FinishCalibration()
|
||||||
|
{
|
||||||
|
|
||||||
|
timer.Enabled = false;
|
||||||
|
modeControl.SetPerformanceMode();
|
||||||
|
|
||||||
|
string label = "Measured - CPU: " + AppConfig.Get("fan_max_" + (int)AsusFan.CPU) * 100;
|
||||||
|
|
||||||
|
if (AppConfig.Get("fan_max_" + (int)AsusFan.GPU) > 0)
|
||||||
|
label = label + ", GPU: " + AppConfig.Get("fan_max_" + (int)AsusFan.GPU) * 100;
|
||||||
|
|
||||||
|
if (AppConfig.Get("fan_max_" + (int)AsusFan.Mid) > 0)
|
||||||
|
label = label + ", Mid: " + AppConfig.Get("fan_max_" + (int)AsusFan.Mid) * 100;
|
||||||
|
|
||||||
|
fansForm.LabelFansResult(label);
|
||||||
|
fansForm.InitAxis();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
218
app/Fans.Designer.cs
generated
@@ -55,6 +55,7 @@ namespace GHelper
|
|||||||
picturePerf = new PictureBox();
|
picturePerf = new PictureBox();
|
||||||
labelFans = new Label();
|
labelFans = new Label();
|
||||||
panelApplyFans = new Panel();
|
panelApplyFans = new Panel();
|
||||||
|
buttonCalibrate = new RButton();
|
||||||
labelFansResult = new Label();
|
labelFansResult = new Label();
|
||||||
checkApplyFans = new RCheckBox();
|
checkApplyFans = new RCheckBox();
|
||||||
buttonReset = new RButton();
|
buttonReset = new RButton();
|
||||||
@@ -106,6 +107,11 @@ namespace GHelper
|
|||||||
panelBoostTitle = new Panel();
|
panelBoostTitle = new Panel();
|
||||||
pictureBoost = new PictureBox();
|
pictureBoost = new PictureBox();
|
||||||
labelBoost = new Label();
|
labelBoost = new Label();
|
||||||
|
panelPowerMode = new Panel();
|
||||||
|
comboPowerMode = new RComboBox();
|
||||||
|
panelPowerModeTItle = new Panel();
|
||||||
|
picturePowerMode = new PictureBox();
|
||||||
|
labelPowerModeTitle = new Label();
|
||||||
panelGPU = new Panel();
|
panelGPU = new Panel();
|
||||||
panelGPUTemp = new Panel();
|
panelGPUTemp = new Panel();
|
||||||
labelGPUTemp = new Label();
|
labelGPUTemp = new Label();
|
||||||
@@ -123,6 +129,10 @@ namespace GHelper
|
|||||||
labelGPUCore = new Label();
|
labelGPUCore = new Label();
|
||||||
trackGPUCore = new TrackBar();
|
trackGPUCore = new TrackBar();
|
||||||
labelGPUCoreTitle = new Label();
|
labelGPUCoreTitle = new Label();
|
||||||
|
panelGPUClockLimit = new Panel();
|
||||||
|
labelGPUClockLimit = new Label();
|
||||||
|
trackGPUClockLimit = new TrackBar();
|
||||||
|
labelGPUClockLimitTitle = new Label();
|
||||||
panelTitleGPU = new Panel();
|
panelTitleGPU = new Panel();
|
||||||
pictureGPU = new PictureBox();
|
pictureGPU = new PictureBox();
|
||||||
labelGPU = new Label();
|
labelGPU = new Label();
|
||||||
@@ -167,6 +177,9 @@ namespace GHelper
|
|||||||
panelBoost.SuspendLayout();
|
panelBoost.SuspendLayout();
|
||||||
panelBoostTitle.SuspendLayout();
|
panelBoostTitle.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBoost).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBoost).BeginInit();
|
||||||
|
panelPowerMode.SuspendLayout();
|
||||||
|
panelPowerModeTItle.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)picturePowerMode).BeginInit();
|
||||||
panelGPU.SuspendLayout();
|
panelGPU.SuspendLayout();
|
||||||
panelGPUTemp.SuspendLayout();
|
panelGPUTemp.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackGPUTemp).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUTemp).BeginInit();
|
||||||
@@ -176,6 +189,8 @@ namespace GHelper
|
|||||||
((System.ComponentModel.ISupportInitialize)trackGPUMemory).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUMemory).BeginInit();
|
||||||
panelGPUCore.SuspendLayout();
|
panelGPUCore.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackGPUCore).BeginInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUCore).BeginInit();
|
||||||
|
panelGPUClockLimit.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackGPUClockLimit).BeginInit();
|
||||||
panelTitleGPU.SuspendLayout();
|
panelTitleGPU.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
|
||||||
panelNav.SuspendLayout();
|
panelNav.SuspendLayout();
|
||||||
@@ -225,7 +240,7 @@ namespace GHelper
|
|||||||
tableFanCharts.Location = new Point(0, 66);
|
tableFanCharts.Location = new Point(0, 66);
|
||||||
tableFanCharts.Margin = new Padding(4);
|
tableFanCharts.Margin = new Padding(4);
|
||||||
tableFanCharts.Name = "tableFanCharts";
|
tableFanCharts.Name = "tableFanCharts";
|
||||||
tableFanCharts.Padding = new Padding(10, 0, 10, 10);
|
tableFanCharts.Padding = new Padding(10, 0, 10, 5);
|
||||||
tableFanCharts.RowCount = 2;
|
tableFanCharts.RowCount = 2;
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 25F));
|
||||||
@@ -239,10 +254,10 @@ namespace GHelper
|
|||||||
chartArea1.Name = "ChartArea1";
|
chartArea1.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea1);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(12, 491);
|
chartGPU.Location = new Point(12, 493);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartGPU.Name = "chartGPU";
|
chartGPU.Name = "chartGPU";
|
||||||
chartGPU.Size = new Size(782, 461);
|
chartGPU.Size = new Size(782, 463);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chartGPU";
|
chartGPU.Text = "chartGPU";
|
||||||
title1.Name = "Title1";
|
title1.Name = "Title1";
|
||||||
@@ -256,7 +271,7 @@ namespace GHelper
|
|||||||
chartCPU.Location = new Point(12, 10);
|
chartCPU.Location = new Point(12, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartCPU.Name = "chartCPU";
|
chartCPU.Name = "chartCPU";
|
||||||
chartCPU.Size = new Size(782, 461);
|
chartCPU.Size = new Size(782, 463);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
title2.Name = "Title1";
|
||||||
@@ -267,10 +282,10 @@ namespace GHelper
|
|||||||
chartArea3.Name = "ChartAreaXGM";
|
chartArea3.Name = "ChartAreaXGM";
|
||||||
chartXGM.ChartAreas.Add(chartArea3);
|
chartXGM.ChartAreas.Add(chartArea3);
|
||||||
chartXGM.Dock = DockStyle.Fill;
|
chartXGM.Dock = DockStyle.Fill;
|
||||||
chartXGM.Location = new Point(12, 1453);
|
chartXGM.Location = new Point(12, 1459);
|
||||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartXGM.Name = "chartXGM";
|
chartXGM.Name = "chartXGM";
|
||||||
chartXGM.Size = new Size(782, 464);
|
chartXGM.Size = new Size(782, 463);
|
||||||
chartXGM.TabIndex = 14;
|
chartXGM.TabIndex = 14;
|
||||||
chartXGM.Text = "chartXGM";
|
chartXGM.Text = "chartXGM";
|
||||||
title3.Name = "Title4";
|
title3.Name = "Title4";
|
||||||
@@ -282,10 +297,10 @@ namespace GHelper
|
|||||||
chartArea4.Name = "ChartArea3";
|
chartArea4.Name = "ChartArea3";
|
||||||
chartMid.ChartAreas.Add(chartArea4);
|
chartMid.ChartAreas.Add(chartArea4);
|
||||||
chartMid.Dock = DockStyle.Fill;
|
chartMid.Dock = DockStyle.Fill;
|
||||||
chartMid.Location = new Point(12, 972);
|
chartMid.Location = new Point(12, 976);
|
||||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartMid.Name = "chartMid";
|
chartMid.Name = "chartMid";
|
||||||
chartMid.Size = new Size(782, 461);
|
chartMid.Size = new Size(782, 463);
|
||||||
chartMid.TabIndex = 14;
|
chartMid.TabIndex = 14;
|
||||||
chartMid.Text = "chartMid";
|
chartMid.Text = "chartMid";
|
||||||
title4.Name = "Title3";
|
title4.Name = "Title3";
|
||||||
@@ -396,6 +411,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
// panelApplyFans
|
// panelApplyFans
|
||||||
//
|
//
|
||||||
|
panelApplyFans.Controls.Add(buttonCalibrate);
|
||||||
panelApplyFans.Controls.Add(labelFansResult);
|
panelApplyFans.Controls.Add(labelFansResult);
|
||||||
panelApplyFans.Controls.Add(checkApplyFans);
|
panelApplyFans.Controls.Add(checkApplyFans);
|
||||||
panelApplyFans.Controls.Add(buttonReset);
|
panelApplyFans.Controls.Add(buttonReset);
|
||||||
@@ -406,16 +422,32 @@ namespace GHelper
|
|||||||
panelApplyFans.Size = new Size(806, 116);
|
panelApplyFans.Size = new Size(806, 116);
|
||||||
panelApplyFans.TabIndex = 43;
|
panelApplyFans.TabIndex = 43;
|
||||||
//
|
//
|
||||||
|
// buttonCalibrate
|
||||||
|
//
|
||||||
|
buttonCalibrate.Activated = false;
|
||||||
|
buttonCalibrate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||||
|
buttonCalibrate.BackColor = SystemColors.ControlLight;
|
||||||
|
buttonCalibrate.BorderColor = Color.Transparent;
|
||||||
|
buttonCalibrate.BorderRadius = 2;
|
||||||
|
buttonCalibrate.FlatStyle = FlatStyle.Flat;
|
||||||
|
buttonCalibrate.Location = new Point(275, 40);
|
||||||
|
buttonCalibrate.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
buttonCalibrate.Name = "buttonCalibrate";
|
||||||
|
buttonCalibrate.Secondary = true;
|
||||||
|
buttonCalibrate.Size = new Size(141, 50);
|
||||||
|
buttonCalibrate.TabIndex = 43;
|
||||||
|
buttonCalibrate.Text = "Calibrate";
|
||||||
|
buttonCalibrate.UseVisualStyleBackColor = false;
|
||||||
|
//
|
||||||
// labelFansResult
|
// labelFansResult
|
||||||
//
|
//
|
||||||
labelFansResult.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
labelFansResult.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||||
labelFansResult.ForeColor = Color.Red;
|
labelFansResult.ForeColor = Color.Red;
|
||||||
labelFansResult.Location = new Point(24, 4);
|
labelFansResult.Location = new Point(18, 2);
|
||||||
labelFansResult.Margin = new Padding(4, 0, 4, 0);
|
labelFansResult.Margin = new Padding(4, 0, 4, 0);
|
||||||
labelFansResult.Name = "labelFansResult";
|
labelFansResult.Name = "labelFansResult";
|
||||||
labelFansResult.Size = new Size(762, 32);
|
labelFansResult.Size = new Size(771, 32);
|
||||||
labelFansResult.TabIndex = 42;
|
labelFansResult.TabIndex = 42;
|
||||||
labelFansResult.TextAlign = ContentAlignment.TopRight;
|
|
||||||
labelFansResult.Visible = false;
|
labelFansResult.Visible = false;
|
||||||
//
|
//
|
||||||
// checkApplyFans
|
// checkApplyFans
|
||||||
@@ -444,7 +476,7 @@ namespace GHelper
|
|||||||
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
buttonReset.Margin = new Padding(4, 2, 4, 2);
|
||||||
buttonReset.Name = "buttonReset";
|
buttonReset.Name = "buttonReset";
|
||||||
buttonReset.Secondary = true;
|
buttonReset.Secondary = true;
|
||||||
buttonReset.Size = new Size(274, 50);
|
buttonReset.Size = new Size(252, 50);
|
||||||
buttonReset.TabIndex = 18;
|
buttonReset.TabIndex = 18;
|
||||||
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
buttonReset.Text = Properties.Strings.FactoryDefaults;
|
||||||
buttonReset.UseVisualStyleBackColor = false;
|
buttonReset.UseVisualStyleBackColor = false;
|
||||||
@@ -491,7 +523,7 @@ namespace GHelper
|
|||||||
panelAdvanced.Controls.Add(panelTemperature);
|
panelAdvanced.Controls.Add(panelTemperature);
|
||||||
panelAdvanced.Controls.Add(panelTitleTemp);
|
panelAdvanced.Controls.Add(panelTitleTemp);
|
||||||
panelAdvanced.Dock = DockStyle.Top;
|
panelAdvanced.Dock = DockStyle.Top;
|
||||||
panelAdvanced.Location = new Point(10, 1272);
|
panelAdvanced.Location = new Point(10, 1520);
|
||||||
panelAdvanced.Name = "panelAdvanced";
|
panelAdvanced.Name = "panelAdvanced";
|
||||||
panelAdvanced.Size = new Size(520, 888);
|
panelAdvanced.Size = new Size(520, 888);
|
||||||
panelAdvanced.TabIndex = 14;
|
panelAdvanced.TabIndex = 14;
|
||||||
@@ -786,11 +818,13 @@ namespace GHelper
|
|||||||
panelPower.Controls.Add(panelTitleCPU);
|
panelPower.Controls.Add(panelTitleCPU);
|
||||||
panelPower.Controls.Add(panelBoost);
|
panelPower.Controls.Add(panelBoost);
|
||||||
panelPower.Controls.Add(panelBoostTitle);
|
panelPower.Controls.Add(panelBoostTitle);
|
||||||
|
panelPower.Controls.Add(panelPowerMode);
|
||||||
|
panelPower.Controls.Add(panelPowerModeTItle);
|
||||||
panelPower.Dock = DockStyle.Top;
|
panelPower.Dock = DockStyle.Top;
|
||||||
panelPower.Location = new Point(10, 640);
|
panelPower.Location = new Point(10, 764);
|
||||||
panelPower.Margin = new Padding(4);
|
panelPower.Margin = new Padding(4);
|
||||||
panelPower.Name = "panelPower";
|
panelPower.Name = "panelPower";
|
||||||
panelPower.Size = new Size(520, 632);
|
panelPower.Size = new Size(520, 756);
|
||||||
panelPower.TabIndex = 43;
|
panelPower.TabIndex = 43;
|
||||||
//
|
//
|
||||||
// panelApplyPower
|
// panelApplyPower
|
||||||
@@ -798,7 +832,7 @@ namespace GHelper
|
|||||||
panelApplyPower.AutoSize = true;
|
panelApplyPower.AutoSize = true;
|
||||||
panelApplyPower.Controls.Add(checkApplyPower);
|
panelApplyPower.Controls.Add(checkApplyPower);
|
||||||
panelApplyPower.Dock = DockStyle.Top;
|
panelApplyPower.Dock = DockStyle.Top;
|
||||||
panelApplyPower.Location = new Point(0, 556);
|
panelApplyPower.Location = new Point(0, 680);
|
||||||
panelApplyPower.Name = "panelApplyPower";
|
panelApplyPower.Name = "panelApplyPower";
|
||||||
panelApplyPower.Padding = new Padding(15);
|
panelApplyPower.Padding = new Padding(15);
|
||||||
panelApplyPower.Size = new Size(520, 76);
|
panelApplyPower.Size = new Size(520, 76);
|
||||||
@@ -825,7 +859,7 @@ namespace GHelper
|
|||||||
panelB0.Controls.Add(labelLeftB0);
|
panelB0.Controls.Add(labelLeftB0);
|
||||||
panelB0.Controls.Add(trackB0);
|
panelB0.Controls.Add(trackB0);
|
||||||
panelB0.Dock = DockStyle.Top;
|
panelB0.Dock = DockStyle.Top;
|
||||||
panelB0.Location = new Point(0, 432);
|
panelB0.Location = new Point(0, 556);
|
||||||
panelB0.Margin = new Padding(4);
|
panelB0.Margin = new Padding(4);
|
||||||
panelB0.MaximumSize = new Size(0, 124);
|
panelB0.MaximumSize = new Size(0, 124);
|
||||||
panelB0.Name = "panelB0";
|
panelB0.Name = "panelB0";
|
||||||
@@ -874,7 +908,7 @@ namespace GHelper
|
|||||||
panelC1.Controls.Add(labelLeftC1);
|
panelC1.Controls.Add(labelLeftC1);
|
||||||
panelC1.Controls.Add(trackC1);
|
panelC1.Controls.Add(trackC1);
|
||||||
panelC1.Dock = DockStyle.Top;
|
panelC1.Dock = DockStyle.Top;
|
||||||
panelC1.Location = new Point(0, 308);
|
panelC1.Location = new Point(0, 432);
|
||||||
panelC1.Margin = new Padding(4);
|
panelC1.Margin = new Padding(4);
|
||||||
panelC1.MaximumSize = new Size(0, 124);
|
panelC1.MaximumSize = new Size(0, 124);
|
||||||
panelC1.Name = "panelC1";
|
panelC1.Name = "panelC1";
|
||||||
@@ -923,7 +957,7 @@ namespace GHelper
|
|||||||
panelA0.Controls.Add(labelLeftA0);
|
panelA0.Controls.Add(labelLeftA0);
|
||||||
panelA0.Controls.Add(trackA0);
|
panelA0.Controls.Add(trackA0);
|
||||||
panelA0.Dock = DockStyle.Top;
|
panelA0.Dock = DockStyle.Top;
|
||||||
panelA0.Location = new Point(0, 184);
|
panelA0.Location = new Point(0, 308);
|
||||||
panelA0.Margin = new Padding(4);
|
panelA0.Margin = new Padding(4);
|
||||||
panelA0.MaximumSize = new Size(0, 124);
|
panelA0.MaximumSize = new Size(0, 124);
|
||||||
panelA0.Name = "panelA0";
|
panelA0.Name = "panelA0";
|
||||||
@@ -971,7 +1005,7 @@ namespace GHelper
|
|||||||
panelTitleCPU.Controls.Add(pictureBoxCPU);
|
panelTitleCPU.Controls.Add(pictureBoxCPU);
|
||||||
panelTitleCPU.Controls.Add(labelPowerLimits);
|
panelTitleCPU.Controls.Add(labelPowerLimits);
|
||||||
panelTitleCPU.Dock = DockStyle.Top;
|
panelTitleCPU.Dock = DockStyle.Top;
|
||||||
panelTitleCPU.Location = new Point(0, 124);
|
panelTitleCPU.Location = new Point(0, 248);
|
||||||
panelTitleCPU.Margin = new Padding(4);
|
panelTitleCPU.Margin = new Padding(4);
|
||||||
panelTitleCPU.Name = "panelTitleCPU";
|
panelTitleCPU.Name = "panelTitleCPU";
|
||||||
panelTitleCPU.Size = new Size(520, 60);
|
panelTitleCPU.Size = new Size(520, 60);
|
||||||
@@ -1004,7 +1038,7 @@ namespace GHelper
|
|||||||
//
|
//
|
||||||
panelBoost.Controls.Add(comboBoost);
|
panelBoost.Controls.Add(comboBoost);
|
||||||
panelBoost.Dock = DockStyle.Top;
|
panelBoost.Dock = DockStyle.Top;
|
||||||
panelBoost.Location = new Point(0, 60);
|
panelBoost.Location = new Point(0, 184);
|
||||||
panelBoost.Margin = new Padding(4);
|
panelBoost.Margin = new Padding(4);
|
||||||
panelBoost.Name = "panelBoost";
|
panelBoost.Name = "panelBoost";
|
||||||
panelBoost.Size = new Size(520, 64);
|
panelBoost.Size = new Size(520, 64);
|
||||||
@@ -1017,7 +1051,7 @@ namespace GHelper
|
|||||||
panelBoostTitle.Controls.Add(pictureBoost);
|
panelBoostTitle.Controls.Add(pictureBoost);
|
||||||
panelBoostTitle.Controls.Add(labelBoost);
|
panelBoostTitle.Controls.Add(labelBoost);
|
||||||
panelBoostTitle.Dock = DockStyle.Top;
|
panelBoostTitle.Dock = DockStyle.Top;
|
||||||
panelBoostTitle.Location = new Point(0, 0);
|
panelBoostTitle.Location = new Point(0, 124);
|
||||||
panelBoostTitle.Margin = new Padding(4);
|
panelBoostTitle.Margin = new Padding(4);
|
||||||
panelBoostTitle.Name = "panelBoostTitle";
|
panelBoostTitle.Name = "panelBoostTitle";
|
||||||
panelBoostTitle.Size = new Size(520, 60);
|
panelBoostTitle.Size = new Size(520, 60);
|
||||||
@@ -1046,6 +1080,66 @@ namespace GHelper
|
|||||||
labelBoost.TabIndex = 39;
|
labelBoost.TabIndex = 39;
|
||||||
labelBoost.Text = "CPU Boost";
|
labelBoost.Text = "CPU Boost";
|
||||||
//
|
//
|
||||||
|
// panelPowerMode
|
||||||
|
//
|
||||||
|
panelPowerMode.Controls.Add(comboPowerMode);
|
||||||
|
panelPowerMode.Dock = DockStyle.Top;
|
||||||
|
panelPowerMode.Location = new Point(0, 60);
|
||||||
|
panelPowerMode.Margin = new Padding(4);
|
||||||
|
panelPowerMode.Name = "panelPowerMode";
|
||||||
|
panelPowerMode.Size = new Size(520, 64);
|
||||||
|
panelPowerMode.TabIndex = 49;
|
||||||
|
//
|
||||||
|
// comboPowerMode
|
||||||
|
//
|
||||||
|
comboPowerMode.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
|
||||||
|
comboPowerMode.BorderColor = Color.White;
|
||||||
|
comboPowerMode.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboPowerMode.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboPowerMode.FormattingEnabled = true;
|
||||||
|
comboPowerMode.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive", "Aggressive at Guaranteed", "Efficient at Guaranteed" });
|
||||||
|
comboPowerMode.Location = new Point(13, 12);
|
||||||
|
comboPowerMode.Margin = new Padding(4);
|
||||||
|
comboPowerMode.Name = "comboPowerMode";
|
||||||
|
comboPowerMode.Size = new Size(329, 40);
|
||||||
|
comboPowerMode.TabIndex = 42;
|
||||||
|
//
|
||||||
|
// panelPowerModeTItle
|
||||||
|
//
|
||||||
|
panelPowerModeTItle.AutoSize = true;
|
||||||
|
panelPowerModeTItle.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelPowerModeTItle.Controls.Add(picturePowerMode);
|
||||||
|
panelPowerModeTItle.Controls.Add(labelPowerModeTitle);
|
||||||
|
panelPowerModeTItle.Dock = DockStyle.Top;
|
||||||
|
panelPowerModeTItle.Location = new Point(0, 0);
|
||||||
|
panelPowerModeTItle.Margin = new Padding(4);
|
||||||
|
panelPowerModeTItle.Name = "panelPowerModeTItle";
|
||||||
|
panelPowerModeTItle.Size = new Size(520, 60);
|
||||||
|
panelPowerModeTItle.TabIndex = 50;
|
||||||
|
//
|
||||||
|
// picturePowerMode
|
||||||
|
//
|
||||||
|
picturePowerMode.BackgroundImage = Properties.Resources.icons8_gauge_32;
|
||||||
|
picturePowerMode.BackgroundImageLayout = ImageLayout.Zoom;
|
||||||
|
picturePowerMode.InitialImage = null;
|
||||||
|
picturePowerMode.Location = new Point(10, 18);
|
||||||
|
picturePowerMode.Margin = new Padding(4, 2, 4, 10);
|
||||||
|
picturePowerMode.Name = "picturePowerMode";
|
||||||
|
picturePowerMode.Size = new Size(32, 32);
|
||||||
|
picturePowerMode.TabIndex = 40;
|
||||||
|
picturePowerMode.TabStop = false;
|
||||||
|
//
|
||||||
|
// labelPowerModeTitle
|
||||||
|
//
|
||||||
|
labelPowerModeTitle.AutoSize = true;
|
||||||
|
labelPowerModeTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelPowerModeTitle.Location = new Point(46, 18);
|
||||||
|
labelPowerModeTitle.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelPowerModeTitle.Name = "labelPowerModeTitle";
|
||||||
|
labelPowerModeTitle.Size = new Size(271, 32);
|
||||||
|
labelPowerModeTitle.TabIndex = 39;
|
||||||
|
labelPowerModeTitle.Text = "Windows Power Mode";
|
||||||
|
//
|
||||||
// panelGPU
|
// panelGPU
|
||||||
//
|
//
|
||||||
panelGPU.AutoSize = true;
|
panelGPU.AutoSize = true;
|
||||||
@@ -1053,13 +1147,14 @@ namespace GHelper
|
|||||||
panelGPU.Controls.Add(panelGPUBoost);
|
panelGPU.Controls.Add(panelGPUBoost);
|
||||||
panelGPU.Controls.Add(panelGPUMemory);
|
panelGPU.Controls.Add(panelGPUMemory);
|
||||||
panelGPU.Controls.Add(panelGPUCore);
|
panelGPU.Controls.Add(panelGPUCore);
|
||||||
|
panelGPU.Controls.Add(panelGPUClockLimit);
|
||||||
panelGPU.Controls.Add(panelTitleGPU);
|
panelGPU.Controls.Add(panelTitleGPU);
|
||||||
panelGPU.Dock = DockStyle.Top;
|
panelGPU.Dock = DockStyle.Top;
|
||||||
panelGPU.Location = new Point(10, 66);
|
panelGPU.Location = new Point(10, 66);
|
||||||
panelGPU.Margin = new Padding(4);
|
panelGPU.Margin = new Padding(4);
|
||||||
panelGPU.Name = "panelGPU";
|
panelGPU.Name = "panelGPU";
|
||||||
panelGPU.Padding = new Padding(0, 0, 0, 18);
|
panelGPU.Padding = new Padding(0, 0, 0, 18);
|
||||||
panelGPU.Size = new Size(520, 574);
|
panelGPU.Size = new Size(520, 698);
|
||||||
panelGPU.TabIndex = 44;
|
panelGPU.TabIndex = 44;
|
||||||
panelGPU.Visible = false;
|
panelGPU.Visible = false;
|
||||||
//
|
//
|
||||||
@@ -1071,7 +1166,7 @@ namespace GHelper
|
|||||||
panelGPUTemp.Controls.Add(labelGPUTempTitle);
|
panelGPUTemp.Controls.Add(labelGPUTempTitle);
|
||||||
panelGPUTemp.Controls.Add(trackGPUTemp);
|
panelGPUTemp.Controls.Add(trackGPUTemp);
|
||||||
panelGPUTemp.Dock = DockStyle.Top;
|
panelGPUTemp.Dock = DockStyle.Top;
|
||||||
panelGPUTemp.Location = new Point(0, 432);
|
panelGPUTemp.Location = new Point(0, 556);
|
||||||
panelGPUTemp.Margin = new Padding(4);
|
panelGPUTemp.Margin = new Padding(4);
|
||||||
panelGPUTemp.MaximumSize = new Size(0, 124);
|
panelGPUTemp.MaximumSize = new Size(0, 124);
|
||||||
panelGPUTemp.Name = "panelGPUTemp";
|
panelGPUTemp.Name = "panelGPUTemp";
|
||||||
@@ -1120,7 +1215,7 @@ namespace GHelper
|
|||||||
panelGPUBoost.Controls.Add(labelGPUBoostTitle);
|
panelGPUBoost.Controls.Add(labelGPUBoostTitle);
|
||||||
panelGPUBoost.Controls.Add(trackGPUBoost);
|
panelGPUBoost.Controls.Add(trackGPUBoost);
|
||||||
panelGPUBoost.Dock = DockStyle.Top;
|
panelGPUBoost.Dock = DockStyle.Top;
|
||||||
panelGPUBoost.Location = new Point(0, 308);
|
panelGPUBoost.Location = new Point(0, 432);
|
||||||
panelGPUBoost.Margin = new Padding(4);
|
panelGPUBoost.Margin = new Padding(4);
|
||||||
panelGPUBoost.MaximumSize = new Size(0, 124);
|
panelGPUBoost.MaximumSize = new Size(0, 124);
|
||||||
panelGPUBoost.Name = "panelGPUBoost";
|
panelGPUBoost.Name = "panelGPUBoost";
|
||||||
@@ -1169,7 +1264,7 @@ namespace GHelper
|
|||||||
panelGPUMemory.Controls.Add(labelGPUMemoryTitle);
|
panelGPUMemory.Controls.Add(labelGPUMemoryTitle);
|
||||||
panelGPUMemory.Controls.Add(trackGPUMemory);
|
panelGPUMemory.Controls.Add(trackGPUMemory);
|
||||||
panelGPUMemory.Dock = DockStyle.Top;
|
panelGPUMemory.Dock = DockStyle.Top;
|
||||||
panelGPUMemory.Location = new Point(0, 184);
|
panelGPUMemory.Location = new Point(0, 308);
|
||||||
panelGPUMemory.Margin = new Padding(4);
|
panelGPUMemory.Margin = new Padding(4);
|
||||||
panelGPUMemory.MaximumSize = new Size(0, 124);
|
panelGPUMemory.MaximumSize = new Size(0, 124);
|
||||||
panelGPUMemory.Name = "panelGPUMemory";
|
panelGPUMemory.Name = "panelGPUMemory";
|
||||||
@@ -1218,7 +1313,7 @@ namespace GHelper
|
|||||||
panelGPUCore.Controls.Add(trackGPUCore);
|
panelGPUCore.Controls.Add(trackGPUCore);
|
||||||
panelGPUCore.Controls.Add(labelGPUCoreTitle);
|
panelGPUCore.Controls.Add(labelGPUCoreTitle);
|
||||||
panelGPUCore.Dock = DockStyle.Top;
|
panelGPUCore.Dock = DockStyle.Top;
|
||||||
panelGPUCore.Location = new Point(0, 60);
|
panelGPUCore.Location = new Point(0, 184);
|
||||||
panelGPUCore.Margin = new Padding(4);
|
panelGPUCore.Margin = new Padding(4);
|
||||||
panelGPUCore.MaximumSize = new Size(0, 124);
|
panelGPUCore.MaximumSize = new Size(0, 124);
|
||||||
panelGPUCore.Name = "panelGPUCore";
|
panelGPUCore.Name = "panelGPUCore";
|
||||||
@@ -1260,6 +1355,56 @@ namespace GHelper
|
|||||||
labelGPUCoreTitle.TabIndex = 17;
|
labelGPUCoreTitle.TabIndex = 17;
|
||||||
labelGPUCoreTitle.Text = "Core Clock Offset";
|
labelGPUCoreTitle.Text = "Core Clock Offset";
|
||||||
//
|
//
|
||||||
|
// panelGPUClockLimit
|
||||||
|
//
|
||||||
|
panelGPUClockLimit.AutoSize = true;
|
||||||
|
panelGPUClockLimit.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||||
|
panelGPUClockLimit.Controls.Add(labelGPUClockLimit);
|
||||||
|
panelGPUClockLimit.Controls.Add(trackGPUClockLimit);
|
||||||
|
panelGPUClockLimit.Controls.Add(labelGPUClockLimitTitle);
|
||||||
|
panelGPUClockLimit.Dock = DockStyle.Top;
|
||||||
|
panelGPUClockLimit.Location = new Point(0, 60);
|
||||||
|
panelGPUClockLimit.Margin = new Padding(4);
|
||||||
|
panelGPUClockLimit.MaximumSize = new Size(0, 124);
|
||||||
|
panelGPUClockLimit.Name = "panelGPUClockLimit";
|
||||||
|
panelGPUClockLimit.Size = new Size(520, 124);
|
||||||
|
panelGPUClockLimit.TabIndex = 48;
|
||||||
|
//
|
||||||
|
// labelGPUClockLimit
|
||||||
|
//
|
||||||
|
labelGPUClockLimit.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelGPUClockLimit.Location = new Point(326, 16);
|
||||||
|
labelGPUClockLimit.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelGPUClockLimit.Name = "labelGPUClockLimit";
|
||||||
|
labelGPUClockLimit.Size = new Size(176, 32);
|
||||||
|
labelGPUClockLimit.TabIndex = 29;
|
||||||
|
labelGPUClockLimit.Text = "1500 MHz";
|
||||||
|
labelGPUClockLimit.TextAlign = ContentAlignment.TopRight;
|
||||||
|
//
|
||||||
|
// trackGPUClockLimit
|
||||||
|
//
|
||||||
|
trackGPUClockLimit.LargeChange = 100;
|
||||||
|
trackGPUClockLimit.Location = new Point(6, 48);
|
||||||
|
trackGPUClockLimit.Margin = new Padding(4, 2, 4, 2);
|
||||||
|
trackGPUClockLimit.Maximum = 3000;
|
||||||
|
trackGPUClockLimit.Name = "trackGPUClockLimit";
|
||||||
|
trackGPUClockLimit.RightToLeft = RightToLeft.No;
|
||||||
|
trackGPUClockLimit.Size = new Size(496, 90);
|
||||||
|
trackGPUClockLimit.SmallChange = 10;
|
||||||
|
trackGPUClockLimit.TabIndex = 18;
|
||||||
|
trackGPUClockLimit.TickFrequency = 50;
|
||||||
|
trackGPUClockLimit.TickStyle = TickStyle.TopLeft;
|
||||||
|
//
|
||||||
|
// labelGPUClockLimitTitle
|
||||||
|
//
|
||||||
|
labelGPUClockLimitTitle.AutoSize = true;
|
||||||
|
labelGPUClockLimitTitle.Location = new Point(10, 16);
|
||||||
|
labelGPUClockLimitTitle.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
labelGPUClockLimitTitle.Name = "labelGPUClockLimitTitle";
|
||||||
|
labelGPUClockLimitTitle.Size = new Size(188, 32);
|
||||||
|
labelGPUClockLimitTitle.TabIndex = 17;
|
||||||
|
labelGPUClockLimitTitle.Text = "Core Clock Limit";
|
||||||
|
//
|
||||||
// panelTitleGPU
|
// panelTitleGPU
|
||||||
//
|
//
|
||||||
panelTitleGPU.AutoSize = true;
|
panelTitleGPU.AutoSize = true;
|
||||||
@@ -1452,6 +1597,10 @@ namespace GHelper
|
|||||||
panelBoostTitle.ResumeLayout(false);
|
panelBoostTitle.ResumeLayout(false);
|
||||||
panelBoostTitle.PerformLayout();
|
panelBoostTitle.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBoost).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBoost).EndInit();
|
||||||
|
panelPowerMode.ResumeLayout(false);
|
||||||
|
panelPowerModeTItle.ResumeLayout(false);
|
||||||
|
panelPowerModeTItle.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)picturePowerMode).EndInit();
|
||||||
panelGPU.ResumeLayout(false);
|
panelGPU.ResumeLayout(false);
|
||||||
panelGPU.PerformLayout();
|
panelGPU.PerformLayout();
|
||||||
panelGPUTemp.ResumeLayout(false);
|
panelGPUTemp.ResumeLayout(false);
|
||||||
@@ -1466,6 +1615,9 @@ namespace GHelper
|
|||||||
panelGPUCore.ResumeLayout(false);
|
panelGPUCore.ResumeLayout(false);
|
||||||
panelGPUCore.PerformLayout();
|
panelGPUCore.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)trackGPUCore).EndInit();
|
((System.ComponentModel.ISupportInitialize)trackGPUCore).EndInit();
|
||||||
|
panelGPUClockLimit.ResumeLayout(false);
|
||||||
|
panelGPUClockLimit.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackGPUClockLimit).EndInit();
|
||||||
panelTitleGPU.ResumeLayout(false);
|
panelTitleGPU.ResumeLayout(false);
|
||||||
panelTitleGPU.PerformLayout();
|
panelTitleGPU.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
|
||||||
@@ -1568,5 +1720,15 @@ namespace GHelper
|
|||||||
private TrackBar trackTemp;
|
private TrackBar trackTemp;
|
||||||
private Panel panelAdvancedAlways;
|
private Panel panelAdvancedAlways;
|
||||||
private RCheckBox checkApplyUV;
|
private RCheckBox checkApplyUV;
|
||||||
|
private Panel panelPowerMode;
|
||||||
|
private RComboBox comboPowerMode;
|
||||||
|
private Panel panelPowerModeTItle;
|
||||||
|
private PictureBox picturePowerMode;
|
||||||
|
private Label labelPowerModeTitle;
|
||||||
|
private Panel panelGPUClockLimit;
|
||||||
|
private Label labelGPUClockLimit;
|
||||||
|
private TrackBar trackGPUClockLimit;
|
||||||
|
private Label labelGPUClockLimitTitle;
|
||||||
|
private RButton buttonCalibrate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
235
app/Fans.cs
@@ -1,6 +1,8 @@
|
|||||||
using GHelper.Gpu.NVidia;
|
using GHelper.Fan;
|
||||||
|
using GHelper.Gpu.NVidia;
|
||||||
using GHelper.Mode;
|
using GHelper.Mode;
|
||||||
using GHelper.UI;
|
using GHelper.UI;
|
||||||
|
using GHelper.USB;
|
||||||
using Ryzen;
|
using Ryzen;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Windows.Forms.DataVisualization.Charting;
|
using System.Windows.Forms.DataVisualization.Charting;
|
||||||
@@ -18,20 +20,23 @@ namespace GHelper
|
|||||||
Series seriesMid;
|
Series seriesMid;
|
||||||
Series seriesXGM;
|
Series seriesXGM;
|
||||||
|
|
||||||
static int MinRPM, MaxRPM;
|
|
||||||
|
|
||||||
static bool gpuVisible = true;
|
static bool gpuVisible = true;
|
||||||
|
static bool fanRpm = true;
|
||||||
|
|
||||||
const int fansMax = 100;
|
const int fansMax = 100;
|
||||||
|
|
||||||
NvidiaGpuControl? nvControl = null;
|
NvidiaGpuControl? nvControl = null;
|
||||||
ModeControl modeControl = Program.modeControl;
|
ModeControl modeControl = Program.modeControl;
|
||||||
|
|
||||||
|
FanSensorControl fanSensorControl;
|
||||||
|
|
||||||
public Fans()
|
public Fans()
|
||||||
{
|
{
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
fanSensorControl = new FanSensorControl(this);
|
||||||
|
|
||||||
//float dpi = ControlHelper.GetDpiScale(this).Value;
|
//float dpi = ControlHelper.GetDpiScale(this).Value;
|
||||||
//comboModes.Size = new Size(comboModes.Width, (int)dpi * 18);
|
//comboModes.Size = new Size(comboModes.Width, (int)dpi * 18);
|
||||||
comboModes.ClientSize = new Size(comboModes.Width, comboModes.Height - 4);
|
comboModes.ClientSize = new Size(comboModes.Width, comboModes.Height - 4);
|
||||||
@@ -56,10 +61,10 @@ namespace GHelper
|
|||||||
buttonApplyAdvanced.Text = Properties.Strings.Apply;
|
buttonApplyAdvanced.Text = Properties.Strings.Apply;
|
||||||
checkApplyUV.Text = Properties.Strings.AutoApply;
|
checkApplyUV.Text = Properties.Strings.AutoApply;
|
||||||
|
|
||||||
|
buttonCalibrate.Text = Properties.Strings.Calibrate;
|
||||||
|
|
||||||
InitTheme(true);
|
InitTheme(true);
|
||||||
|
|
||||||
MinRPM = 18;
|
|
||||||
MaxRPM = HardwareControl.GetFanMax();
|
|
||||||
labelTip.Visible = false;
|
labelTip.Visible = false;
|
||||||
labelTip.BackColor = Color.Transparent;
|
labelTip.BackColor = Color.Transparent;
|
||||||
|
|
||||||
@@ -75,17 +80,26 @@ namespace GHelper
|
|||||||
seriesMid.Color = colorEco;
|
seriesMid.Color = colorEco;
|
||||||
seriesXGM.Color = Color.Orange;
|
seriesXGM.Color = Color.Orange;
|
||||||
|
|
||||||
chartCPU.MouseMove += ChartCPU_MouseMove;
|
chartCPU.MouseMove += (sender, e) => ChartCPU_MouseMove(sender, e, AsusFan.CPU);
|
||||||
chartCPU.MouseUp += ChartCPU_MouseUp;
|
chartCPU.MouseUp += ChartCPU_MouseUp;
|
||||||
|
chartCPU.MouseLeave += ChartCPU_MouseLeave;
|
||||||
|
|
||||||
chartGPU.MouseMove += ChartCPU_MouseMove;
|
chartGPU.MouseMove += (sender, e) => ChartCPU_MouseMove(sender, e, AsusFan.GPU);
|
||||||
chartGPU.MouseUp += ChartCPU_MouseUp;
|
chartGPU.MouseUp += ChartCPU_MouseUp;
|
||||||
|
chartGPU.MouseLeave += ChartCPU_MouseLeave;
|
||||||
|
|
||||||
chartMid.MouseMove += ChartCPU_MouseMove;
|
chartMid.MouseMove += (sender, e) => ChartCPU_MouseMove(sender, e, AsusFan.Mid);
|
||||||
chartMid.MouseUp += ChartCPU_MouseUp;
|
chartMid.MouseUp += ChartCPU_MouseUp;
|
||||||
|
chartMid.MouseLeave += ChartCPU_MouseLeave;
|
||||||
|
|
||||||
chartXGM.MouseMove += ChartCPU_MouseMove;
|
chartXGM.MouseMove += (sender, e) => ChartCPU_MouseMove(sender, e, AsusFan.XGM);
|
||||||
chartXGM.MouseUp += ChartCPU_MouseUp;
|
chartXGM.MouseUp += ChartCPU_MouseUp;
|
||||||
|
chartXGM.MouseLeave += ChartCPU_MouseLeave;
|
||||||
|
|
||||||
|
chartCPU.MouseClick += ChartCPU_MouseClick;
|
||||||
|
chartGPU.MouseClick += ChartCPU_MouseClick;
|
||||||
|
chartMid.MouseClick += ChartCPU_MouseClick;
|
||||||
|
chartXGM.MouseClick += ChartCPU_MouseClick;
|
||||||
|
|
||||||
buttonReset.Click += ButtonReset_Click;
|
buttonReset.Click += ButtonReset_Click;
|
||||||
|
|
||||||
@@ -109,6 +123,9 @@ namespace GHelper
|
|||||||
checkApplyFans.Click += CheckApplyFans_Click;
|
checkApplyFans.Click += CheckApplyFans_Click;
|
||||||
checkApplyPower.Click += CheckApplyPower_Click;
|
checkApplyPower.Click += CheckApplyPower_Click;
|
||||||
|
|
||||||
|
trackGPUClockLimit.Minimum = NvidiaGpuControl.MinClockLimit;
|
||||||
|
trackGPUClockLimit.Maximum = NvidiaGpuControl.MaxClockLimit;
|
||||||
|
|
||||||
trackGPUCore.Minimum = NvidiaGpuControl.MinCoreOffset;
|
trackGPUCore.Minimum = NvidiaGpuControl.MinCoreOffset;
|
||||||
trackGPUCore.Maximum = NvidiaGpuControl.MaxCoreOffset;
|
trackGPUCore.Maximum = NvidiaGpuControl.MaxCoreOffset;
|
||||||
|
|
||||||
@@ -121,6 +138,7 @@ namespace GHelper
|
|||||||
trackGPUTemp.Minimum = AsusACPI.MinGPUTemp;
|
trackGPUTemp.Minimum = AsusACPI.MinGPUTemp;
|
||||||
trackGPUTemp.Maximum = AsusACPI.MaxGPUTemp;
|
trackGPUTemp.Maximum = AsusACPI.MaxGPUTemp;
|
||||||
|
|
||||||
|
trackGPUClockLimit.Scroll += trackGPUClockLimit_Scroll;
|
||||||
trackGPUCore.Scroll += trackGPU_Scroll;
|
trackGPUCore.Scroll += trackGPU_Scroll;
|
||||||
trackGPUMemory.Scroll += trackGPU_Scroll;
|
trackGPUMemory.Scroll += trackGPU_Scroll;
|
||||||
|
|
||||||
@@ -132,6 +150,8 @@ namespace GHelper
|
|||||||
trackGPUBoost.MouseUp += TrackGPU_MouseUp;
|
trackGPUBoost.MouseUp += TrackGPU_MouseUp;
|
||||||
trackGPUTemp.MouseUp += TrackGPU_MouseUp;
|
trackGPUTemp.MouseUp += TrackGPU_MouseUp;
|
||||||
|
|
||||||
|
trackGPUClockLimit.MouseUp += TrackGPU_MouseUp;
|
||||||
|
|
||||||
//labelInfo.MaximumSize = new Size(280, 0);
|
//labelInfo.MaximumSize = new Size(280, 0);
|
||||||
labelFansResult.Visible = false;
|
labelFansResult.Visible = false;
|
||||||
|
|
||||||
@@ -145,11 +165,17 @@ namespace GHelper
|
|||||||
trackTemp.Minimum = RyzenControl.MinTemp;
|
trackTemp.Minimum = RyzenControl.MinTemp;
|
||||||
trackTemp.Maximum = RyzenControl.MaxTemp;
|
trackTemp.Maximum = RyzenControl.MaxTemp;
|
||||||
|
|
||||||
|
comboPowerMode.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboPowerMode.DataSource = new BindingSource(PowerNative.powerModes, null);
|
||||||
|
comboPowerMode.DisplayMember = "Value";
|
||||||
|
comboPowerMode.ValueMember = "Key";
|
||||||
|
|
||||||
FillModes();
|
FillModes();
|
||||||
InitAll();
|
InitAll();
|
||||||
|
|
||||||
comboBoost.SelectedValueChanged += ComboBoost_Changed;
|
comboBoost.SelectedValueChanged += ComboBoost_Changed;
|
||||||
|
comboPowerMode.SelectedValueChanged += ComboPowerMode_Changed;
|
||||||
|
|
||||||
|
|
||||||
comboModes.SelectionChangeCommitted += ComboModes_SelectedValueChanged;
|
comboModes.SelectionChangeCommitted += ComboModes_SelectedValueChanged;
|
||||||
comboModes.TextChanged += ComboModes_TextChanged;
|
comboModes.TextChanged += ComboModes_TextChanged;
|
||||||
@@ -178,12 +204,42 @@ namespace GHelper
|
|||||||
|
|
||||||
checkApplyUV.Click += CheckApplyUV_Click;
|
checkApplyUV.Click += CheckApplyUV_Click;
|
||||||
|
|
||||||
|
buttonCalibrate.Click += ButtonCalibrate_Click;
|
||||||
|
|
||||||
ToggleNavigation(0);
|
ToggleNavigation(0);
|
||||||
|
|
||||||
|
if (Program.acpi.DeviceGet(AsusACPI.DevsCPUFanCurve) < 0) buttonCalibrate.Visible = false;
|
||||||
|
|
||||||
FormClosed += Fans_FormClosed;
|
FormClosed += Fans_FormClosed;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private void ButtonCalibrate_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
buttonCalibrate.Enabled = false;
|
||||||
|
fanSensorControl.StartCalibration();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ChartCPU_MouseClick(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (sender is null) return;
|
||||||
|
Chart chart = (Chart)sender;
|
||||||
|
|
||||||
|
HitTestResult result = chart.HitTest(e.X, e.Y);
|
||||||
|
|
||||||
|
if ((result.ChartElementType == ChartElementType.AxisLabels || result.ChartElementType == ChartElementType.Axis) && result.Axis == chart.ChartAreas[0].AxisY)
|
||||||
|
{
|
||||||
|
fanRpm = !fanRpm;
|
||||||
|
SetAxis(chartCPU, AsusFan.CPU);
|
||||||
|
SetAxis(chartGPU, AsusFan.GPU);
|
||||||
|
if (chartMid.Visible) SetAxis(chartMid, AsusFan.Mid);
|
||||||
|
if (chartXGM.Visible) SetAxis(chartXGM, AsusFan.XGM);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void Fans_FormClosed(object? sender, FormClosedEventArgs e)
|
private void Fans_FormClosed(object? sender, FormClosedEventArgs e)
|
||||||
{
|
{
|
||||||
//Because windows charts seem to eat a lot of memory :(
|
//Because windows charts seem to eat a lot of memory :(
|
||||||
@@ -201,7 +257,7 @@ namespace GHelper
|
|||||||
InitMode();
|
InitMode();
|
||||||
InitFans();
|
InitFans();
|
||||||
InitPower();
|
InitPower();
|
||||||
InitBoost();
|
InitPowerPlan();
|
||||||
InitUV();
|
InitUV();
|
||||||
InitGPU();
|
InitGPU();
|
||||||
}
|
}
|
||||||
@@ -293,7 +349,7 @@ namespace GHelper
|
|||||||
panelUViGPU.Visible = false;
|
panelUViGPU.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RyzenControl.IsSupportedUV())
|
if (!RyzenControl.IsSupportedUViGPU())
|
||||||
{
|
{
|
||||||
panelUViGPU.Visible = false;
|
panelUViGPU.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -429,24 +485,29 @@ namespace GHelper
|
|||||||
|
|
||||||
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
int gpu_boost = AppConfig.GetMode("gpu_boost");
|
||||||
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
int gpu_temp = AppConfig.GetMode("gpu_temp");
|
||||||
|
|
||||||
int core = AppConfig.GetMode("gpu_core");
|
int core = AppConfig.GetMode("gpu_core");
|
||||||
int memory = AppConfig.GetMode("gpu_memory");
|
int memory = AppConfig.GetMode("gpu_memory");
|
||||||
|
int clock_limit = AppConfig.GetMode("gpu_clock_limit");
|
||||||
|
|
||||||
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
|
if (gpu_boost < 0) gpu_boost = AsusACPI.MaxGPUBoost;
|
||||||
if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp;
|
if (gpu_temp < 0) gpu_temp = AsusACPI.MaxGPUTemp;
|
||||||
|
|
||||||
if (core == -1) core = 0;
|
if (core == -1) core = 0;
|
||||||
if (memory == -1) memory = 0;
|
if (memory == -1) memory = 0;
|
||||||
|
if (clock_limit == -1) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
||||||
|
|
||||||
//if (readClocks)
|
if (nvControl.GetClocks(out int current_core, out int current_memory))
|
||||||
//{
|
|
||||||
int status = nvControl.GetClocks(out int current_core, out int current_memory);
|
|
||||||
if (status != -1)
|
|
||||||
{
|
{
|
||||||
core = current_core;
|
core = current_core;
|
||||||
memory = current_memory;
|
memory = current_memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int _clockLimit = nvControl.GetMaxGPUCLock();
|
||||||
|
|
||||||
|
if (_clockLimit == 0) clock_limit = NvidiaGpuControl.MaxClockLimit;
|
||||||
|
else if (_clockLimit > 0) clock_limit = _clockLimit;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
labelGPU.Text = nvControl.FullName;
|
labelGPU.Text = nvControl.FullName;
|
||||||
@@ -457,6 +518,7 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
trackGPUClockLimit.Value = Math.Max(Math.Min(clock_limit, NvidiaGpuControl.MaxClockLimit), NvidiaGpuControl.MinClockLimit);
|
||||||
|
|
||||||
trackGPUCore.Value = Math.Max(Math.Min(core, NvidiaGpuControl.MaxCoreOffset), NvidiaGpuControl.MinCoreOffset);
|
trackGPUCore.Value = Math.Max(Math.Min(core, NvidiaGpuControl.MaxCoreOffset), NvidiaGpuControl.MinCoreOffset);
|
||||||
trackGPUMemory.Value = Math.Max(Math.Min(memory, NvidiaGpuControl.MaxMemoryOffset), NvidiaGpuControl.MinMemoryOffset);
|
trackGPUMemory.Value = Math.Max(Math.Min(memory, NvidiaGpuControl.MaxMemoryOffset), NvidiaGpuControl.MinMemoryOffset);
|
||||||
@@ -482,8 +544,24 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
labelGPUCore.Text = $"{trackGPUCore.Value} MHz";
|
labelGPUCore.Text = $"{trackGPUCore.Value} MHz";
|
||||||
labelGPUMemory.Text = $"{trackGPUMemory.Value} MHz";
|
labelGPUMemory.Text = $"{trackGPUMemory.Value} MHz";
|
||||||
|
|
||||||
labelGPUBoost.Text = $"{trackGPUBoost.Value}W";
|
labelGPUBoost.Text = $"{trackGPUBoost.Value}W";
|
||||||
labelGPUTemp.Text = $"{trackGPUTemp.Value}°C";
|
labelGPUTemp.Text = $"{trackGPUTemp.Value}°C";
|
||||||
|
|
||||||
|
if (trackGPUClockLimit.Value >= NvidiaGpuControl.MaxClockLimit)
|
||||||
|
labelGPUClockLimit.Text = "Default";
|
||||||
|
else
|
||||||
|
labelGPUClockLimit.Text = $"{trackGPUClockLimit.Value} MHz";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void trackGPUClockLimit_Scroll(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
int maxClock = (int)Math.Round((float)trackGPUClockLimit.Value / 50) * 50;
|
||||||
|
|
||||||
|
trackGPUClockLimit.Value = maxClock;
|
||||||
|
AppConfig.SetMode("gpu_clock_limit", maxClock);
|
||||||
|
VisualiseGPUSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void trackGPU_Scroll(object? sender, EventArgs e)
|
private void trackGPU_Scroll(object? sender, EventArgs e)
|
||||||
@@ -495,6 +573,7 @@ namespace GHelper
|
|||||||
AppConfig.SetMode("gpu_core", trackGPUCore.Value);
|
AppConfig.SetMode("gpu_core", trackGPUCore.Value);
|
||||||
AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
|
AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
|
||||||
|
|
||||||
|
|
||||||
VisualiseGPUSettings();
|
VisualiseGPUSettings();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -507,31 +586,52 @@ namespace GHelper
|
|||||||
VisualiseGPUSettings();
|
VisualiseGPUSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
static string ChartPercToRPM(int percentage, string unit = "")
|
static string ChartYLabel(int percentage, AsusFan device, string unit = "")
|
||||||
{
|
{
|
||||||
if (percentage == 0) return "OFF";
|
if (percentage == 0) return "OFF";
|
||||||
|
|
||||||
return (200 * Math.Round((float)(MinRPM * 100 + (MaxRPM - MinRPM) * percentage) / 200)).ToString() + unit;
|
int Min = FanSensorControl.DEFAULT_FAN_MIN;
|
||||||
|
int Max = FanSensorControl.GetFanMax(device);
|
||||||
|
|
||||||
|
if (fanRpm)
|
||||||
|
return (200 * Math.Round((float)(Min * 100 + (Max - Min) * percentage) / 200)).ToString() + unit;
|
||||||
|
else
|
||||||
|
return percentage + "%";
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetAxis(Chart chart, AsusFan device)
|
||||||
|
{
|
||||||
|
|
||||||
|
chart.ChartAreas[0].AxisY.CustomLabels.Clear();
|
||||||
|
|
||||||
|
for (int i = 0; i <= fansMax; i += 10)
|
||||||
|
{
|
||||||
|
chart.ChartAreas[0].AxisY.CustomLabels.Add(i - 2, i + 2, ChartYLabel(i, device));
|
||||||
|
}
|
||||||
|
|
||||||
|
//chart.ChartAreas[0].AxisY.CustomLabels.Add(fansMax -2, fansMax + 2, Properties.Strings.RPM);
|
||||||
|
chart.ChartAreas[0].AxisY.Interval = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetChart(Chart chart, AsusFan device)
|
void SetChart(Chart chart, AsusFan device)
|
||||||
{
|
{
|
||||||
|
|
||||||
string title = "";
|
string title = "";
|
||||||
|
string scale = ", RPM/°C";
|
||||||
|
|
||||||
switch (device)
|
switch (device)
|
||||||
{
|
{
|
||||||
case AsusFan.CPU:
|
case AsusFan.CPU:
|
||||||
title = Properties.Strings.FanProfileCPU;
|
title = Properties.Strings.FanProfileCPU + scale;
|
||||||
break;
|
break;
|
||||||
case AsusFan.GPU:
|
case AsusFan.GPU:
|
||||||
title = Properties.Strings.FanProfileGPU;
|
title = Properties.Strings.FanProfileGPU + scale;
|
||||||
break;
|
break;
|
||||||
case AsusFan.Mid:
|
case AsusFan.Mid:
|
||||||
title = Properties.Strings.FanProfileMid;
|
title = Properties.Strings.FanProfileMid + scale;
|
||||||
break;
|
break;
|
||||||
case AsusFan.XGM:
|
case AsusFan.XGM:
|
||||||
title = "XG Mobile";
|
title = "XG Mobile" + scale;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -551,12 +651,7 @@ namespace GHelper
|
|||||||
chart.ChartAreas[0].AxisX.LineColor = chartGrid;
|
chart.ChartAreas[0].AxisX.LineColor = chartGrid;
|
||||||
chart.ChartAreas[0].AxisY.LineColor = chartGrid;
|
chart.ChartAreas[0].AxisY.LineColor = chartGrid;
|
||||||
|
|
||||||
for (int i = 0; i <= fansMax - 10; i += 10)
|
SetAxis(chart, device);
|
||||||
chart.ChartAreas[0].AxisY.CustomLabels.Add(i - 2, i + 2, ChartPercToRPM(i));
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisY.CustomLabels.Add(fansMax - 2, fansMax + 2, Properties.Strings.RPM);
|
|
||||||
|
|
||||||
chart.ChartAreas[0].AxisY.Interval = 10;
|
|
||||||
|
|
||||||
if (chart.Legends.Count > 0)
|
if (chart.Legends.Count > 0)
|
||||||
chart.Legends[0].Enabled = false;
|
chart.Legends[0].Enabled = false;
|
||||||
@@ -591,11 +686,33 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void InitBoost()
|
public void InitPowerPlan()
|
||||||
{
|
{
|
||||||
int boost = PowerNative.GetCPUBoost();
|
int boost = PowerNative.GetCPUBoost();
|
||||||
if (boost >= 0)
|
if (boost >= 0)
|
||||||
comboBoost.SelectedIndex = Math.Min(boost, comboBoost.Items.Count - 1);
|
comboBoost.SelectedIndex = Math.Min(boost, comboBoost.Items.Count - 1);
|
||||||
|
|
||||||
|
string powerMode = PowerNative.GetPowerMode();
|
||||||
|
bool batterySaver = PowerNative.GetBatterySaverStatus();
|
||||||
|
|
||||||
|
comboPowerMode.Enabled = !batterySaver;
|
||||||
|
|
||||||
|
if (batterySaver)
|
||||||
|
comboPowerMode.SelectedIndex = 0;
|
||||||
|
else
|
||||||
|
comboPowerMode.SelectedValue = powerMode;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboPowerMode_Changed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string powerMode = (string)comboPowerMode.SelectedValue;
|
||||||
|
PowerNative.SetPowerMode(powerMode);
|
||||||
|
|
||||||
|
if (PowerNative.GetDefaultPowerMode(Modes.GetCurrentBase()) != powerMode)
|
||||||
|
AppConfig.SetMode("powermode", powerMode);
|
||||||
|
else
|
||||||
|
AppConfig.RemoveMode("powermode");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ComboBoost_Changed(object? sender, EventArgs e)
|
private void ComboBoost_Changed(object? sender, EventArgs e)
|
||||||
@@ -627,16 +744,34 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void InitAxis()
|
||||||
|
{
|
||||||
|
if (this == null || this.Text == "") return;
|
||||||
|
|
||||||
|
Invoke(delegate
|
||||||
|
{
|
||||||
|
buttonCalibrate.Enabled = true;
|
||||||
|
SetAxis(chartCPU, AsusFan.CPU);
|
||||||
|
SetAxis(chartGPU, AsusFan.GPU);
|
||||||
|
if (chartMid.Visible) SetAxis(chartMid, AsusFan.Mid);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void LabelFansResult(string text)
|
public void LabelFansResult(string text)
|
||||||
{
|
{
|
||||||
labelFansResult.Text = text;
|
if (text.Length > 0) Logger.WriteLine(text);
|
||||||
labelFansResult.Visible = (text.Length > 0);
|
|
||||||
|
if (this == null || this.Text == "") return;
|
||||||
|
|
||||||
|
Invoke(delegate
|
||||||
|
{
|
||||||
|
labelFansResult.Text = text;
|
||||||
|
labelFansResult.Visible = (text.Length > 0);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Fans_FormClosing(object? sender, FormClosingEventArgs e)
|
private void Fans_FormClosing(object? sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (e.CloseReason == CloseReason.UserClosing)
|
if (e.CloseReason == CloseReason.UserClosing)
|
||||||
{
|
{
|
||||||
@@ -668,7 +803,11 @@ namespace GHelper
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
|
if (RyzenControl.IsAMD())
|
||||||
|
labelLeftA0.Text = "CPU Slow (SPL + sPPT)";
|
||||||
|
else
|
||||||
|
labelLeftA0.Text = "CPU (PL1 + PL2)";
|
||||||
|
|
||||||
labelLeftC1.Text = "CPU Fast (fPPT)";
|
labelLeftC1.Text = "CPU Fast (fPPT)";
|
||||||
panelC1.Visible = modeC1;
|
panelC1.Visible = modeC1;
|
||||||
}
|
}
|
||||||
@@ -765,7 +904,7 @@ namespace GHelper
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (chartCount > 2)
|
if (chartCount > 2)
|
||||||
Size = MinimumSize = new Size(0, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
|
Size = MinimumSize = new Size(Size.Width, (int)(ControlHelper.GetDpiScale(this).Value * (chartCount * 200 + 100)));
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -864,18 +1003,24 @@ namespace GHelper
|
|||||||
|
|
||||||
modeControl.ResetPerformanceMode();
|
modeControl.ResetPerformanceMode();
|
||||||
|
|
||||||
if (Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
|
InitPowerPlan();
|
||||||
|
|
||||||
|
if (Program.acpi.IsXGConnected()) XGM.Reset();
|
||||||
|
|
||||||
|
|
||||||
if (gpuVisible)
|
if (gpuVisible)
|
||||||
{
|
{
|
||||||
|
trackGPUClockLimit.Value = NvidiaGpuControl.MaxClockLimit;
|
||||||
trackGPUCore.Value = 0;
|
trackGPUCore.Value = 0;
|
||||||
trackGPUMemory.Value = 0;
|
trackGPUMemory.Value = 0;
|
||||||
trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
|
trackGPUBoost.Value = AsusACPI.MaxGPUBoost;
|
||||||
trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
|
trackGPUTemp.Value = AsusACPI.MaxGPUTemp;
|
||||||
|
|
||||||
|
AppConfig.SetMode("gpu_clock_limit", trackGPUClockLimit.Value);
|
||||||
|
|
||||||
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
AppConfig.SetMode("gpu_boost", trackGPUBoost.Value);
|
||||||
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
AppConfig.SetMode("gpu_temp", trackGPUTemp.Value);
|
||||||
|
|
||||||
AppConfig.SetMode("gpu_core", trackGPUCore.Value);
|
AppConfig.SetMode("gpu_core", trackGPUCore.Value);
|
||||||
AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
|
AppConfig.SetMode("gpu_memory", trackGPUMemory.Value);
|
||||||
|
|
||||||
@@ -886,11 +1031,10 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ChartCPU_MouseUp(object? sender, MouseEventArgs e)
|
private void Chart_Save()
|
||||||
{
|
{
|
||||||
curPoint = null;
|
curPoint = null;
|
||||||
curIndex = -1;
|
curIndex = -1;
|
||||||
|
|
||||||
labelTip.Visible = false;
|
labelTip.Visible = false;
|
||||||
|
|
||||||
SaveProfile(seriesCPU, AsusFan.CPU);
|
SaveProfile(seriesCPU, AsusFan.CPU);
|
||||||
@@ -903,11 +1047,22 @@ namespace GHelper
|
|||||||
SaveProfile(seriesXGM, AsusFan.XGM);
|
SaveProfile(seriesXGM, AsusFan.XGM);
|
||||||
|
|
||||||
modeControl.AutoFans();
|
modeControl.AutoFans();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ChartCPU_MouseMove(object? sender, MouseEventArgs e)
|
private void ChartCPU_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
Chart_Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ChartCPU_MouseLeave(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
curPoint = null;
|
||||||
|
curIndex = -1;
|
||||||
|
labelTip.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ChartCPU_MouseMove(object? sender, MouseEventArgs e, AsusFan device)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (sender is null) return;
|
if (sender is null) return;
|
||||||
@@ -968,7 +1123,7 @@ namespace GHelper
|
|||||||
tip = true;
|
tip = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
labelTip.Text = Math.Round(curPoint.XValue) + "C, " + ChartPercToRPM((int)curPoint.YValues[0], " " + Properties.Strings.RPM);
|
labelTip.Text = Math.Round(curPoint.XValue) + "C, " + ChartYLabel((int)curPoint.YValues[0], device, " " + Properties.Strings.RPM);
|
||||||
labelTip.Top = e.Y + ((Control)sender).Top;
|
labelTip.Top = e.Y + ((Control)sender).Top;
|
||||||
labelTip.Left = e.X - 50;
|
labelTip.Left = e.X - 50;
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net7.0-windows8.0</TargetFramework>
|
<TargetFramework>net7.0-windows</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<UseWindowsForms>True</UseWindowsForms>
|
<UseWindowsForms>True</UseWindowsForms>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
@@ -11,12 +11,11 @@
|
|||||||
<StartupObject>GHelper.Program</StartupObject>
|
<StartupObject>GHelper.Program</StartupObject>
|
||||||
<ApplicationIcon>favicon.ico</ApplicationIcon>
|
<ApplicationIcon>favicon.ico</ApplicationIcon>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<SupportedOSPlatformVersion>8.0</SupportedOSPlatformVersion>
|
|
||||||
<AssemblyName>GHelper</AssemblyName>
|
<AssemblyName>GHelper</AssemblyName>
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.99</AssemblyVersion>
|
<AssemblyVersion>0.131</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
@@ -60,7 +59,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FftSharp" Version="2.0.0" />
|
<PackageReference Include="FftSharp" Version="2.0.0" />
|
||||||
<PackageReference Include="hidlibrary" Version="3.3.40" />
|
|
||||||
<PackageReference Include="HidSharpCore" Version="1.2.1.1" />
|
<PackageReference Include="HidSharpCore" Version="1.2.1.1" />
|
||||||
<PackageReference Include="NAudio" Version="2.1.0" />
|
<PackageReference Include="NAudio" Version="2.1.0" />
|
||||||
<PackageReference Include="NvAPIWrapper.Net" Version="0.8.1.101" />
|
<PackageReference Include="NvAPIWrapper.Net" Version="0.8.1.101" />
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using GHelper.Display;
|
using GHelper.Display;
|
||||||
using GHelper.Gpu.NVidia;
|
using GHelper.Gpu.NVidia;
|
||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
|
using GHelper.USB;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace GHelper.Gpu
|
namespace GHelper.Gpu
|
||||||
@@ -10,6 +11,10 @@ namespace GHelper.Gpu
|
|||||||
SettingsForm settings;
|
SettingsForm settings;
|
||||||
ScreenControl screenControl = new ScreenControl();
|
ScreenControl screenControl = new ScreenControl();
|
||||||
|
|
||||||
|
public static int gpuMode;
|
||||||
|
public static bool? gpuExists = null;
|
||||||
|
|
||||||
|
|
||||||
public GPUModeControl(SettingsForm settingsForm)
|
public GPUModeControl(SettingsForm settingsForm)
|
||||||
{
|
{
|
||||||
settings = settingsForm;
|
settings = settingsForm;
|
||||||
@@ -20,40 +25,46 @@ namespace GHelper.Gpu
|
|||||||
int eco = Program.acpi.DeviceGet(AsusACPI.GPUEco);
|
int eco = Program.acpi.DeviceGet(AsusACPI.GPUEco);
|
||||||
int mux = Program.acpi.DeviceGet(AsusACPI.GPUMux);
|
int mux = Program.acpi.DeviceGet(AsusACPI.GPUMux);
|
||||||
|
|
||||||
|
if (mux < 0) mux = Program.acpi.DeviceGet(AsusACPI.GPUMuxVivo);
|
||||||
|
|
||||||
Logger.WriteLine("Eco flag : " + eco);
|
Logger.WriteLine("Eco flag : " + eco);
|
||||||
Logger.WriteLine("Mux flag : " + mux);
|
Logger.WriteLine("Mux flag : " + mux);
|
||||||
|
|
||||||
int GpuMode;
|
settings.VisualiseGPUButtons(eco >= 0, mux >= 0);
|
||||||
|
|
||||||
if (mux == 0)
|
if (mux == 0)
|
||||||
{
|
{
|
||||||
GpuMode = AsusACPI.GPUModeUltimate;
|
gpuMode = AsusACPI.GPUModeUltimate;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (eco == 1)
|
if (eco == 1)
|
||||||
GpuMode = AsusACPI.GPUModeEco;
|
gpuMode = AsusACPI.GPUModeEco;
|
||||||
else
|
else
|
||||||
GpuMode = AsusACPI.GPUModeStandard;
|
gpuMode = AsusACPI.GPUModeStandard;
|
||||||
|
|
||||||
// Ultimate mode not supported
|
|
||||||
if (mux != 1) settings.HideUltimateMode();
|
|
||||||
// GPU mode not supported
|
// GPU mode not supported
|
||||||
if (eco < 0 && mux < 0) settings.HideGPUModes();
|
if (eco < 0 && mux < 0)
|
||||||
|
{
|
||||||
|
if (gpuExists is null) gpuExists = Program.acpi.GetFan(AsusFan.GPU) >= 0;
|
||||||
|
settings.HideGPUModes((bool)gpuExists);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AppConfig.Set("gpu_mode", GpuMode);
|
AppConfig.Set("gpu_mode", gpuMode);
|
||||||
|
settings.VisualiseGPUMode(gpuMode);
|
||||||
|
|
||||||
|
Aura.ApplyGPUColor();
|
||||||
|
|
||||||
InitXGM();
|
|
||||||
settings.VisualiseGPUMode(GpuMode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SetGPUMode(int GPUMode)
|
|
||||||
|
public void SetGPUMode(int GPUMode, int auto = 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
int CurrentGPU = AppConfig.Get("gpu_mode");
|
int CurrentGPU = AppConfig.Get("gpu_mode");
|
||||||
AppConfig.Set("gpu_auto", 0);
|
AppConfig.Set("gpu_auto", auto);
|
||||||
|
|
||||||
if (CurrentGPU == GPUMode)
|
if (CurrentGPU == GPUMode)
|
||||||
{
|
{
|
||||||
@@ -64,12 +75,15 @@ namespace GHelper.Gpu
|
|||||||
var restart = false;
|
var restart = false;
|
||||||
var changed = false;
|
var changed = false;
|
||||||
|
|
||||||
|
int status;
|
||||||
|
|
||||||
if (CurrentGPU == AsusACPI.GPUModeUltimate)
|
if (CurrentGPU == AsusACPI.GPUModeUltimate)
|
||||||
{
|
{
|
||||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertUltimateOff, Properties.Strings.AlertUltimateTitle, MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertUltimateOff, Properties.Strings.AlertUltimateTitle, MessageBoxButtons.YesNo);
|
||||||
if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.GPUMux, 1, "GPUMux");
|
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 1, "GPUMux");
|
||||||
|
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 1, "GPUMuxVivo");
|
||||||
restart = true;
|
restart = true;
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
@@ -79,7 +93,13 @@ namespace GHelper.Gpu
|
|||||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertUltimateOn, Properties.Strings.AlertUltimateTitle, MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show(Properties.Strings.AlertUltimateOn, Properties.Strings.AlertUltimateTitle, MessageBoxButtons.YesNo);
|
||||||
if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.GPUMux, 0, "GPUMux");
|
if (AppConfig.NoAutoUltimate())
|
||||||
|
{
|
||||||
|
Program.acpi.SetGPUEco(0);
|
||||||
|
Thread.Sleep(100);
|
||||||
|
}
|
||||||
|
status = Program.acpi.DeviceSet(AsusACPI.GPUMux, 0, "GPUMux");
|
||||||
|
if (status != 1) Program.acpi.DeviceSet(AsusACPI.GPUMuxVivo, 0, "GPUMuxVivo");
|
||||||
restart = true;
|
restart = true;
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
@@ -125,6 +145,7 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
if (eco == 1)
|
if (eco == 1)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
if (NvidiaSmi.GetDisplayActiveStatus())
|
if (NvidiaSmi.GetDisplayActiveStatus())
|
||||||
{
|
{
|
||||||
DialogResult dialogResult = MessageBox.Show(Properties.Strings.EnableOptimusText, Properties.Strings.EnableOptimusTitle, MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show(Properties.Strings.EnableOptimusText, Properties.Strings.EnableOptimusTitle, MessageBoxButtons.YesNo);
|
||||||
@@ -134,6 +155,7 @@ namespace GHelper.Gpu
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
HardwareControl.KillGPUApps();
|
HardwareControl.KillGPUApps();
|
||||||
}
|
}
|
||||||
@@ -144,7 +166,7 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
if (status == 0 && eco == 1 && hardWay) RestartGPU();
|
if (status == 0 && eco == 1 && hardWay) RestartGPU();
|
||||||
|
|
||||||
await Task.Delay(TimeSpan.FromMilliseconds(100));
|
await Task.Delay(TimeSpan.FromMilliseconds(AppConfig.Get("refresh_delay", 500)));
|
||||||
|
|
||||||
settings.Invoke(delegate
|
settings.Invoke(delegate
|
||||||
{
|
{
|
||||||
@@ -166,10 +188,14 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
public static bool IsPlugged()
|
public static bool IsPlugged()
|
||||||
{
|
{
|
||||||
bool optimizedUSBC = AppConfig.Get("optimized_usbc") != 1;
|
if (SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) return false;
|
||||||
|
if (!AppConfig.Is("optimized_usbc")) return true;
|
||||||
|
|
||||||
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online &&
|
int chargerMode = Program.acpi.DeviceGet(AsusACPI.ChargerMode);
|
||||||
(optimizedUSBC || Program.acpi.DeviceGet(AsusACPI.ChargerMode) < AsusACPI.ChargerUSB);
|
Logger.WriteLine("ChargerStatus: " + chargerMode);
|
||||||
|
|
||||||
|
if (chargerMode < 0) return true;
|
||||||
|
return (chargerMode & AsusACPI.ChargerBarrel) > 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +203,7 @@ namespace GHelper.Gpu
|
|||||||
{
|
{
|
||||||
|
|
||||||
bool GpuAuto = AppConfig.Is("gpu_auto");
|
bool GpuAuto = AppConfig.Is("gpu_auto");
|
||||||
bool ForceGPU = AppConfig.ContainsModel("503");
|
bool ForceGPU = AppConfig.IsForceSetGPUMode();
|
||||||
|
|
||||||
int GpuMode = AppConfig.Get("gpu_mode");
|
int GpuMode = AppConfig.Get("gpu_mode");
|
||||||
|
|
||||||
@@ -188,14 +214,12 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
if (mux == 0)
|
if (mux == 0)
|
||||||
{
|
{
|
||||||
if (optimized) SetGPUMode(AsusACPI.GPUModeStandard);
|
if (optimized) SetGPUMode(AsusACPI.GPUModeStandard, 1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (ReEnableGPU()) return true;
|
|
||||||
|
|
||||||
if (eco == 1)
|
if (eco == 1)
|
||||||
if ((GpuAuto && IsPlugged()) || (ForceGPU && GpuMode == AsusACPI.GPUModeStandard))
|
if ((GpuAuto && IsPlugged()) || (ForceGPU && GpuMode == AsusACPI.GPUModeStandard))
|
||||||
{
|
{
|
||||||
@@ -256,26 +280,14 @@ namespace GHelper.Gpu
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public bool ReEnableGPU()
|
|
||||||
{
|
|
||||||
|
|
||||||
if (AppConfig.Get("gpu_reenable") != 1) return false;
|
|
||||||
if (Screen.AllScreens.Length <= 1) return false;
|
|
||||||
|
|
||||||
Logger.WriteLine("Re-enabling gpu for 503 model");
|
|
||||||
|
|
||||||
Thread.Sleep(1000);
|
|
||||||
SetGPUEco(1);
|
|
||||||
Thread.Sleep(1000);
|
|
||||||
SetGPUEco(0);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void InitXGM()
|
public void InitXGM()
|
||||||
{
|
{
|
||||||
bool connected = Program.acpi.IsXGConnected();
|
if (Program.acpi.IsXGConnected())
|
||||||
int activated = Program.acpi.DeviceGet(AsusACPI.GPUXG);
|
{
|
||||||
settings.VisualizeXGM(connected, activated == 1);
|
//Program.acpi.DeviceSet(AsusACPI.GPUXGInit, 1, "XG Init");
|
||||||
|
XGM.Init();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleXGM()
|
public void ToggleXGM()
|
||||||
@@ -287,7 +299,9 @@ namespace GHelper.Gpu
|
|||||||
|
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.GPUXG) == 1)
|
if (Program.acpi.DeviceGet(AsusACPI.GPUXG) == 1)
|
||||||
{
|
{
|
||||||
|
XGM.Reset();
|
||||||
HardwareControl.KillGPUApps();
|
HardwareControl.KillGPUApps();
|
||||||
|
|
||||||
DialogResult dialogResult = MessageBox.Show("Did you close all applications running on XG Mobile?", "Disabling XG Mobile", MessageBoxButtons.YesNo);
|
DialogResult dialogResult = MessageBox.Show("Did you close all applications running on XG Mobile?", "Disabling XG Mobile", MessageBoxButtons.YesNo);
|
||||||
if (dialogResult == DialogResult.Yes)
|
if (dialogResult == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
@@ -297,13 +311,23 @@ namespace GHelper.Gpu
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Program.acpi.DeviceSet(AsusACPI.GPUXG, 1, "GPU XGM");
|
|
||||||
AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light"));
|
if (AppConfig.Is("xgm_special"))
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.GPUXG, 0x101, "GPU XGM");
|
||||||
|
else
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.GPUXG, 1, "GPU XGM");
|
||||||
|
|
||||||
|
InitXGM();
|
||||||
|
|
||||||
|
XGM.Light(AppConfig.Is("xmg_light"));
|
||||||
|
|
||||||
await Task.Delay(TimeSpan.FromSeconds(15));
|
await Task.Delay(TimeSpan.FromSeconds(15));
|
||||||
|
|
||||||
if (AppConfig.IsMode("auto_apply"))
|
if (AppConfig.IsMode("auto_apply"))
|
||||||
AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
|
XGM.SetFan(AppConfig.GetFanConfig(AsusFan.XGM));
|
||||||
|
|
||||||
|
HardwareControl.RecreateGpuControl();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
settings.Invoke(delegate
|
settings.Invoke(delegate
|
||||||
@@ -321,5 +345,16 @@ namespace GHelper.Gpu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Manually forcing standard mode on shutdown/hibernate for some exotic cases
|
||||||
|
// https://github.com/seerge/g-helper/pull/855
|
||||||
|
public void StandardModeFix()
|
||||||
|
{
|
||||||
|
if (!AppConfig.IsGPUFix()) return; // No config entry
|
||||||
|
if (Program.acpi.DeviceGet(AsusACPI.GPUMux) == 0) return; // Ultimate mode
|
||||||
|
|
||||||
|
Logger.WriteLine("Forcing Standard Mode on shutdown / hibernation");
|
||||||
|
Program.acpi.SetGPUEco(0);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,11 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
public static int MaxCoreOffset => AppConfig.Get("max_gpu_core", 250);
|
public static int MaxCoreOffset => AppConfig.Get("max_gpu_core", 250);
|
||||||
public static int MaxMemoryOffset => AppConfig.Get("max_gpu_memory", 250);
|
public static int MaxMemoryOffset => AppConfig.Get("max_gpu_memory", 250);
|
||||||
|
|
||||||
public const int MinCoreOffset = -250;
|
public static int MinCoreOffset = AppConfig.Get("min_gpu_core", -250);
|
||||||
public const int MinMemoryOffset = -250;
|
public static int MinMemoryOffset = AppConfig.Get("min_gpu_memory", -250);
|
||||||
|
|
||||||
|
public const int MinClockLimit = 400;
|
||||||
|
public const int MaxClockLimit = 3000;
|
||||||
|
|
||||||
private static PhysicalGPU? _internalGpu;
|
private static PhysicalGPU? _internalGpu;
|
||||||
|
|
||||||
@@ -72,11 +75,11 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
Logger.WriteLine(ex.Message);
|
Logger.WriteLine(ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
//NVIDIA.RestartDisplayDriver();
|
//GeneralApi.RestartDisplayDriver();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int GetClocks(out int core, out int memory)
|
public bool GetClocks(out int core, out int memory)
|
||||||
{
|
{
|
||||||
PhysicalGPU internalGpu = _internalGpu!;
|
PhysicalGPU internalGpu = _internalGpu!;
|
||||||
|
|
||||||
@@ -95,27 +98,24 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
Logger.WriteLine("GPU VOLT:" + delta.IsEditable + " - " + delta.ValueDeltaInMicroVolt.DeltaValue);
|
Logger.WriteLine("GPU VOLT:" + delta.IsEditable + " - " + delta.ValueDeltaInMicroVolt.DeltaValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("GET GPU CLOCKS:" + ex.Message);
|
Logger.WriteLine("GET GPU CLOCKS:" + ex.Message);
|
||||||
core = memory = 0;
|
core = memory = 0;
|
||||||
return -1;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public bool RestartGPU()
|
private bool RunPowershellCommand(string script)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string script = @"$device = Get-PnpDevice | Where-Object { $_.FriendlyName -imatch 'NVIDIA' -and $_.Class -eq 'Display' }; Disable-PnpDevice $device.InstanceId -Confirm:$false; Start-Sleep -Seconds 3; Enable-PnpDevice $device.InstanceId -Confirm:$false";
|
|
||||||
Logger.WriteLine(script);
|
|
||||||
ProcessHelper.RunCMD("powershell", script);
|
ProcessHelper.RunCMD("powershell", script);
|
||||||
//Thread.Sleep(2000);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -123,27 +123,71 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
Logger.WriteLine(ex.ToString());
|
Logger.WriteLine(ex.ToString());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int SetClocksFromConfig()
|
public int GetMaxGPUCLock()
|
||||||
{
|
{
|
||||||
int core = AppConfig.Get("gpu_core", 0);
|
PhysicalGPU internalGpu = _internalGpu!;
|
||||||
int memory = AppConfig.Get("gpu_memory", 0);
|
try
|
||||||
int status = SetClocks(core, memory);
|
{
|
||||||
return status;
|
PrivateClockBoostLockV2 data = GPUApi.GetClockBoostLock(internalGpu.Handle);
|
||||||
|
int limit = (int)data.ClockBoostLocks[0].VoltageInMicroV / 1000;
|
||||||
|
Logger.WriteLine("GET CLOCK LIMIT: " + limit);
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("GET CLOCK LIMIT: " + ex.Message);
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int SetClocks(int core, int memory, int voltage = 0)
|
|
||||||
|
public int SetMaxGPUClock(int clock)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (clock < MinClockLimit || clock >= MaxClockLimit) clock = 0;
|
||||||
|
|
||||||
|
int _clockLimit = GetMaxGPUCLock();
|
||||||
|
|
||||||
|
if (_clockLimit != clock)
|
||||||
|
{
|
||||||
|
if (clock > 0) RunPowershellCommand($"nvidia-smi -lgc 0,{clock}");
|
||||||
|
else RunPowershellCommand($"nvidia-smi -rgc");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool RestartGPU()
|
||||||
|
{
|
||||||
|
return RunPowershellCommand(@"$device = Get-PnpDevice | Where-Object { $_.FriendlyName -imatch 'NVIDIA' -and $_.Class -eq 'Display' }; Disable-PnpDevice $device.InstanceId -Confirm:$false; Start-Sleep -Seconds 5; Enable-PnpDevice $device.InstanceId -Confirm:$false");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int SetClocks(int core, int memory)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (core < MinCoreOffset || core > MaxCoreOffset) return 0;
|
if (core < MinCoreOffset || core > MaxCoreOffset) return 0;
|
||||||
if (memory < MinMemoryOffset || memory > MaxMemoryOffset) return 0;
|
if (memory < MinMemoryOffset || memory > MaxMemoryOffset) return 0;
|
||||||
|
|
||||||
|
if (GetClocks(out int currentCore, out int currentMemory))
|
||||||
|
{
|
||||||
|
if (Math.Abs(core - currentCore) < 5 && Math.Abs(memory - currentMemory) < 5) return 0;
|
||||||
|
}
|
||||||
|
|
||||||
PhysicalGPU internalGpu = _internalGpu!;
|
PhysicalGPU internalGpu = _internalGpu!;
|
||||||
|
|
||||||
var coreClock = new PerformanceStates20ClockEntryV1(PublicClockDomain.Graphics, new PerformanceStates20ParameterDelta(core * 1000));
|
var coreClock = new PerformanceStates20ClockEntryV1(PublicClockDomain.Graphics, new PerformanceStates20ParameterDelta(core * 1000));
|
||||||
var memoryClock = new PerformanceStates20ClockEntryV1(PublicClockDomain.Memory, new PerformanceStates20ParameterDelta(memory * 1000));
|
var memoryClock = new PerformanceStates20ClockEntryV1(PublicClockDomain.Memory, new PerformanceStates20ParameterDelta(memory * 1000));
|
||||||
var voltageEntry = new PerformanceStates20BaseVoltageEntryV1(PerformanceVoltageDomain.Core, new PerformanceStates20ParameterDelta(voltage));
|
//var voltageEntry = new PerformanceStates20BaseVoltageEntryV1(PerformanceVoltageDomain.Core, new PerformanceStates20ParameterDelta(voltage));
|
||||||
|
|
||||||
PerformanceStates20ClockEntryV1[] clocks = { coreClock, memoryClock };
|
PerformanceStates20ClockEntryV1[] clocks = { coreClock, memoryClock };
|
||||||
PerformanceStates20BaseVoltageEntryV1[] voltages = { };
|
PerformanceStates20BaseVoltageEntryV1[] voltages = { };
|
||||||
@@ -163,8 +207,6 @@ public class NvidiaGpuControl : IGpuControl
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using GHelper;
|
using GHelper;
|
||||||
|
using GHelper.Fan;
|
||||||
using GHelper.Gpu;
|
using GHelper.Gpu;
|
||||||
using GHelper.Gpu.NVidia;
|
using GHelper.Gpu.NVidia;
|
||||||
using GHelper.Gpu.AMD;
|
using GHelper.Gpu.AMD;
|
||||||
@@ -6,13 +7,23 @@ using GHelper.Gpu.AMD;
|
|||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
|
using GHelper.Battery;
|
||||||
|
|
||||||
public static class HardwareControl
|
public static class HardwareControl
|
||||||
{
|
{
|
||||||
|
|
||||||
public static IGpuControl? GpuControl;
|
public static IGpuControl? GpuControl;
|
||||||
|
|
||||||
public static float? cpuTemp = -1;
|
public static float? cpuTemp = -1;
|
||||||
public static decimal? batteryRate = 0;
|
public static decimal? batteryRate = 0;
|
||||||
|
public static decimal batteryHealth = -1;
|
||||||
|
public static decimal batteryCapacity = -1;
|
||||||
|
|
||||||
|
public static decimal? designCapacity;
|
||||||
|
public static decimal? fullCapacity;
|
||||||
|
public static decimal? chargeCapacity;
|
||||||
|
|
||||||
|
|
||||||
public static int? gpuTemp = null;
|
public static int? gpuTemp = null;
|
||||||
|
|
||||||
public static string? cpuFan;
|
public static string? cpuFan;
|
||||||
@@ -21,38 +32,7 @@ public static class HardwareControl
|
|||||||
|
|
||||||
public static int? gpuUse;
|
public static int? gpuUse;
|
||||||
|
|
||||||
public static int GetFanMax()
|
static long lastUpdate;
|
||||||
{
|
|
||||||
int max = 58;
|
|
||||||
int configMax = AppConfig.Get("fan_max");
|
|
||||||
if (configMax > 80) configMax = 0; // skipping inadvequate settings
|
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("401")) max = 72;
|
|
||||||
else if (AppConfig.ContainsModel("503")) max = 68;
|
|
||||||
return Math.Max(max, configMax);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetFanMax(int fan)
|
|
||||||
{
|
|
||||||
AppConfig.Set("fan_max", fan);
|
|
||||||
}
|
|
||||||
public static string FormatFan(int fan)
|
|
||||||
{
|
|
||||||
// fix for old models
|
|
||||||
if (fan < 0)
|
|
||||||
{
|
|
||||||
fan += 65536;
|
|
||||||
if (fan <= 0 || fan > 100) return null; //nothing reasonable
|
|
||||||
}
|
|
||||||
|
|
||||||
int fanMax = GetFanMax();
|
|
||||||
if (fan > fanMax && fan < 80) SetFanMax(fan);
|
|
||||||
|
|
||||||
if (AppConfig.Is("fan_rpm"))
|
|
||||||
return GHelper.Properties.Strings.FanSpeed + ": " + (fan * 100).ToString() + "RPM";
|
|
||||||
else
|
|
||||||
return GHelper.Properties.Strings.FanSpeed + ": " + Math.Min(Math.Round((float)fan / fanMax * 100), 100).ToString() + "%"; // relatively to 6000 rpm
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int GetGpuUse()
|
private static int GetGpuUse()
|
||||||
{
|
{
|
||||||
@@ -71,9 +51,12 @@ public static class HardwareControl
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static decimal GetBatteryRate()
|
public static void GetBatteryStatus()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
batteryRate = 0;
|
||||||
|
chargeCapacity = 0;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ManagementScope scope = new ManagementScope("root\\WMI");
|
ManagementScope scope = new ManagementScope("root\\WMI");
|
||||||
@@ -82,34 +65,101 @@ public static class HardwareControl
|
|||||||
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
|
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
|
||||||
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
|
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
|
||||||
{
|
{
|
||||||
|
|
||||||
|
chargeCapacity = Convert.ToDecimal(obj["RemainingCapacity"]);
|
||||||
|
|
||||||
decimal chargeRate = Convert.ToDecimal(obj["ChargeRate"]);
|
decimal chargeRate = Convert.ToDecimal(obj["ChargeRate"]);
|
||||||
decimal dischargeRate = Convert.ToDecimal(obj["DischargeRate"]);
|
decimal dischargeRate = Convert.ToDecimal(obj["DischargeRate"]);
|
||||||
if (chargeRate > 0)
|
|
||||||
return chargeRate;
|
|
||||||
else
|
|
||||||
return -dischargeRate;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
if (chargeRate > 0)
|
||||||
|
batteryRate = chargeRate / 1000;
|
||||||
|
else
|
||||||
|
batteryRate = -dischargeRate / 1000;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Discharge Reading: " + ex.Message);
|
Debug.WriteLine("Discharge Reading: " + ex.Message);
|
||||||
return 0;
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public static void ReadFullChargeCapacity()
|
||||||
|
{
|
||||||
|
if (fullCapacity > 0) return;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ManagementScope scope = new ManagementScope("root\\WMI");
|
||||||
|
ObjectQuery query = new ObjectQuery("SELECT * FROM BatteryFullChargedCapacity");
|
||||||
|
|
||||||
|
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
|
||||||
|
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
|
||||||
|
{
|
||||||
|
fullCapacity = Convert.ToDecimal(obj["FullChargedCapacity"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine("Full Charge Reading: " + ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ReadSensors()
|
public static void ReadDesignCapacity()
|
||||||
{
|
{
|
||||||
batteryRate = 0;
|
if (designCapacity > 0) return;
|
||||||
gpuTemp = -1;
|
|
||||||
gpuUse = -1;
|
|
||||||
|
|
||||||
cpuFan = FormatFan(Program.acpi.DeviceGet(AsusACPI.CPU_Fan));
|
try
|
||||||
gpuFan = FormatFan(Program.acpi.DeviceGet(AsusACPI.GPU_Fan));
|
{
|
||||||
midFan = FormatFan(Program.acpi.DeviceGet(AsusACPI.Mid_Fan));
|
ManagementScope scope = new ManagementScope("root\\WMI");
|
||||||
|
ObjectQuery query = new ObjectQuery("SELECT * FROM BatteryStaticData");
|
||||||
|
|
||||||
|
using ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
|
||||||
|
foreach (ManagementObject obj in searcher.Get().Cast<ManagementObject>())
|
||||||
|
{
|
||||||
|
designCapacity = Convert.ToDecimal(obj["DesignedCapacity"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine("Design Capacity Reading: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RefreshBatteryHealth()
|
||||||
|
{
|
||||||
|
batteryHealth = GetBatteryHealth() * 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static decimal GetBatteryHealth()
|
||||||
|
{
|
||||||
|
if (designCapacity is null)
|
||||||
|
{
|
||||||
|
ReadDesignCapacity();
|
||||||
|
}
|
||||||
|
ReadFullChargeCapacity();
|
||||||
|
|
||||||
|
if (designCapacity is null || fullCapacity is null || designCapacity == 0 || fullCapacity == 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
decimal health = (decimal)fullCapacity / (decimal)designCapacity;
|
||||||
|
Logger.WriteLine("Design Capacity: " + designCapacity + "mWh, Full Charge Capacity: " + fullCapacity + "mWh, Health: " + health + "%");
|
||||||
|
|
||||||
|
return health;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float? GetCPUTemp() {
|
||||||
|
|
||||||
|
var last = DateTimeOffset.Now.ToUnixTimeSeconds();
|
||||||
|
if (Math.Abs(last - lastUpdate) < 2) return cpuTemp;
|
||||||
|
lastUpdate = last;
|
||||||
|
|
||||||
cpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_CPU);
|
cpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_CPU);
|
||||||
|
|
||||||
@@ -125,6 +175,23 @@ public static class HardwareControl
|
|||||||
Debug.WriteLine("Failed reading CPU temp :" + ex.Message);
|
Debug.WriteLine("Failed reading CPU temp :" + ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return cpuTemp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void ReadSensors()
|
||||||
|
{
|
||||||
|
batteryRate = 0;
|
||||||
|
gpuTemp = -1;
|
||||||
|
gpuUse = -1;
|
||||||
|
|
||||||
|
cpuFan = FanSensorControl.FormatFan(AsusFan.CPU, Program.acpi.GetFan(AsusFan.CPU));
|
||||||
|
gpuFan = FanSensorControl.FormatFan(AsusFan.GPU, Program.acpi.GetFan(AsusFan.GPU));
|
||||||
|
midFan = FanSensorControl.FormatFan(AsusFan.Mid, Program.acpi.GetFan(AsusFan.Mid));
|
||||||
|
|
||||||
|
cpuTemp = GetCPUTemp();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
gpuTemp = GpuControl?.GetCurrentTemperature();
|
gpuTemp = GpuControl?.GetCurrentTemperature();
|
||||||
@@ -139,7 +206,15 @@ public static class HardwareControl
|
|||||||
if (gpuTemp is null || gpuTemp < 0)
|
if (gpuTemp is null || gpuTemp < 0)
|
||||||
gpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_GPU);
|
gpuTemp = Program.acpi.DeviceGet(AsusACPI.Temp_GPU);
|
||||||
|
|
||||||
batteryRate = GetBatteryRate() / 1000;
|
ReadFullChargeCapacity();
|
||||||
|
GetBatteryStatus();
|
||||||
|
|
||||||
|
if (fullCapacity > 0 && chargeCapacity > 0)
|
||||||
|
{
|
||||||
|
batteryCapacity = Math.Min(100, ((decimal)chargeCapacity / (decimal)fullCapacity) * 100);
|
||||||
|
if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,6 +269,7 @@ public static class HardwareControl
|
|||||||
if (_gpuControl.IsValid)
|
if (_gpuControl.IsValid)
|
||||||
{
|
{
|
||||||
GpuControl = _gpuControl;
|
GpuControl = _gpuControl;
|
||||||
|
if (GpuControl.FullName.Contains("6850M")) AppConfig.Set("xgm_special", 1);
|
||||||
Logger.WriteLine(GpuControl.FullName);
|
Logger.WriteLine(GpuControl.FullName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,14 +6,24 @@ namespace GHelper.Helpers
|
|||||||
{
|
{
|
||||||
internal class ClamshellModeControl
|
internal class ClamshellModeControl
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public ClamshellModeControl()
|
||||||
|
{
|
||||||
|
//Save current setting if hibernate or shutdown to prevent reverting the user set option.
|
||||||
|
CheckAndSaveLidAction();
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsExternalDisplayConnected()
|
public bool IsExternalDisplayConnected()
|
||||||
{
|
{
|
||||||
var devices = ScreenInterrogatory.GetAllDevices().ToArray();
|
var devices = ScreenInterrogatory.GetAllDevices().ToArray();
|
||||||
|
|
||||||
|
string internalName = AppConfig.GetString("internal_display");
|
||||||
|
|
||||||
foreach (var device in devices)
|
foreach (var device in devices)
|
||||||
{
|
{
|
||||||
if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL &&
|
if (device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL &&
|
||||||
device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED)
|
device.outputTechnology != ScreenInterrogatory.DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED
|
||||||
|
&& device.monitorFriendlyDeviceName != internalName)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());
|
Logger.WriteLine("Found external screen: " + device.monitorFriendlyDeviceName + ":" + device.outputTechnology.ToString());
|
||||||
|
|
||||||
@@ -28,7 +38,7 @@ namespace GHelper.Helpers
|
|||||||
|
|
||||||
public bool IsClamshellEnabled()
|
public bool IsClamshellEnabled()
|
||||||
{
|
{
|
||||||
return AppConfig.Get("toggle_clamshell_mode") != 0;
|
return AppConfig.Is("toggle_clamshell_mode");
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsChargerConnected()
|
public bool IsChargerConnected()
|
||||||
@@ -36,24 +46,38 @@ namespace GHelper.Helpers
|
|||||||
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online;
|
return SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsInClamshellMode()
|
public bool IsClamshellReady()
|
||||||
{
|
{
|
||||||
return IsExternalDisplayConnected() && IsChargerConnected();
|
return IsExternalDisplayConnected() && IsChargerConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleLidAction()
|
public void ToggleLidAction()
|
||||||
{
|
{
|
||||||
if (IsInClamshellMode() && IsClamshellEnabled())
|
if (!IsClamshellEnabled())
|
||||||
{
|
{
|
||||||
PowerNative.SetLidAction(0, true);
|
return;
|
||||||
Logger.WriteLine("Engaging Clamshell Mode");
|
}
|
||||||
|
|
||||||
|
if (IsClamshellReady())
|
||||||
|
{
|
||||||
|
EnableClamshellMode();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PowerNative.SetLidAction(1, true);
|
DisableClamshellMode();
|
||||||
Logger.WriteLine("Disengaging Clamshell Mode");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static void DisableClamshellMode()
|
||||||
|
{
|
||||||
|
PowerNative.SetLidAction(GetDefaultLidAction(), true);
|
||||||
|
Logger.WriteLine("Disengaging Clamshell Mode");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void EnableClamshellMode()
|
||||||
|
{
|
||||||
|
PowerNative.SetLidAction(0, true);
|
||||||
|
Logger.WriteLine("Engaging Clamshell Mode");
|
||||||
|
}
|
||||||
|
|
||||||
public void UnregisterDisplayEvents()
|
public void UnregisterDisplayEvents()
|
||||||
{
|
{
|
||||||
@@ -71,6 +95,48 @@ namespace GHelper.Helpers
|
|||||||
|
|
||||||
if (IsClamshellEnabled())
|
if (IsClamshellEnabled())
|
||||||
ToggleLidAction();
|
ToggleLidAction();
|
||||||
|
|
||||||
|
if (Program.settingsForm.Visible)
|
||||||
|
Program.screenControl.InitScreen();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int CheckAndSaveLidAction()
|
||||||
|
{
|
||||||
|
if (AppConfig.Get("clamshell_default_lid_action", -1) != -1)
|
||||||
|
{
|
||||||
|
//Seting was alredy set. Do not touch it
|
||||||
|
return AppConfig.Get("clamshell_default_lid_action", -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int val = PowerNative.GetLidAction(true);
|
||||||
|
//If it is 0 then it is likely already set by clamshell mdoe
|
||||||
|
//If 0 was set by the user, then why do they even use clamshell mode?
|
||||||
|
//We only care about hibernate or shutdown setting here
|
||||||
|
if (val == 2 || val == 3)
|
||||||
|
{
|
||||||
|
AppConfig.Set("clamshell_default_lid_action", val);
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Power users can change that setting.
|
||||||
|
//0 = Do nothing
|
||||||
|
//1 = Sleep (default)
|
||||||
|
//2 = Hibernate
|
||||||
|
//3 = Shutdown
|
||||||
|
private static int GetDefaultLidAction()
|
||||||
|
{
|
||||||
|
int val = AppConfig.Get("clamshell_default_lid_action", 1);
|
||||||
|
|
||||||
|
if (val < 0 || val > 3)
|
||||||
|
{
|
||||||
|
val = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
21
app/Helpers/ColorUtilities.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
namespace GHelper.Helpers
|
||||||
|
{
|
||||||
|
public class ColorUtilities
|
||||||
|
{
|
||||||
|
// Method to get the weighted average between two colors
|
||||||
|
public static Color GetWeightedAverage(Color color1, Color color2, float weight)
|
||||||
|
{
|
||||||
|
|
||||||
|
int red = (int)Math.Round(color1.R * (1 - weight) + color2.R * weight);
|
||||||
|
int green = (int)Math.Round(color1.G * (1 - weight) + color2.G * weight);
|
||||||
|
int blue = (int)Math.Round(color1.B * (1 - weight) + color2.B * weight);
|
||||||
|
|
||||||
|
red = Math.Min(255, Math.Max(0, red));
|
||||||
|
green = Math.Min(255, Math.Max(0, green));
|
||||||
|
blue = Math.Min(255, Math.Max(0, blue));
|
||||||
|
|
||||||
|
return Color.FromArgb(red, green, blue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -55,6 +55,12 @@ namespace GHelper.Helpers
|
|||||||
return Process.GetProcessesByName("AsusOptimization").Count() > 0;
|
return Process.GetProcessesByName("AsusOptimization").Count() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool IsOSDRunning()
|
||||||
|
{
|
||||||
|
return Process.GetProcessesByName("AsusOSD").Count() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static int GetRunningCount()
|
public static int GetRunningCount()
|
||||||
{
|
{
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
using System;
|
using System.Diagnostics;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Security.Principal;
|
using System.Security.Principal;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace GHelper.Helpers
|
namespace GHelper.Helpers
|
||||||
{
|
{
|
||||||
@@ -137,7 +132,13 @@ namespace GHelper.Helpers
|
|||||||
cmd.StartInfo.FileName = name;
|
cmd.StartInfo.FileName = name;
|
||||||
cmd.StartInfo.Arguments = args;
|
cmd.StartInfo.Arguments = args;
|
||||||
cmd.Start();
|
cmd.Start();
|
||||||
Logger.WriteLine(cmd.StandardOutput.ReadToEnd());
|
|
||||||
|
Logger.WriteLine(args);
|
||||||
|
|
||||||
|
string result = cmd.StandardOutput.ReadToEnd().Replace(Environment.NewLine, " ").Trim(' ');
|
||||||
|
|
||||||
|
Logger.WriteLine(result);
|
||||||
|
|
||||||
cmd.WaitForExit();
|
cmd.WaitForExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ public class Startup
|
|||||||
|
|
||||||
public static bool IsScheduled()
|
public static bool IsScheduled()
|
||||||
{
|
{
|
||||||
TaskService taskService = new TaskService();
|
using (TaskService taskService = new TaskService())
|
||||||
return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName));
|
return (taskService.RootFolder.AllTasks.Any(t => t.Name == taskName));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ReScheduleAdmin()
|
public static void ReScheduleAdmin()
|
||||||
@@ -23,6 +23,26 @@ public class Startup
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void StartupCheck()
|
||||||
|
{
|
||||||
|
using (TaskService taskService = new TaskService())
|
||||||
|
{
|
||||||
|
var task = taskService.RootFolder.AllTasks.FirstOrDefault(t => t.Name == taskName);
|
||||||
|
if (task != null)
|
||||||
|
{
|
||||||
|
string strExeFilePath = Application.ExecutablePath.Trim();
|
||||||
|
string action = task.Definition.Actions.FirstOrDefault()!.ToString().Trim();
|
||||||
|
if (!strExeFilePath.Equals(action, StringComparison.OrdinalIgnoreCase) && !File.Exists(action))
|
||||||
|
{
|
||||||
|
Logger.WriteLine("File doesn't exist: " + action);
|
||||||
|
Logger.WriteLine("Rescheduling to: " + strExeFilePath);
|
||||||
|
UnSchedule();
|
||||||
|
Schedule();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void Schedule()
|
public static void Schedule()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
using GHelper.Display;
|
using GHelper.Display;
|
||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using GHelper.Mode;
|
using GHelper.Mode;
|
||||||
|
using GHelper.USB;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using NAudio.CoreAudioApi;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace GHelper.Input
|
namespace GHelper.Input
|
||||||
{
|
{
|
||||||
@@ -20,6 +21,8 @@ namespace GHelper.Input
|
|||||||
static ModeControl modeControl = Program.modeControl;
|
static ModeControl modeControl = Program.modeControl;
|
||||||
static ScreenControl screenControl = new ScreenControl();
|
static ScreenControl screenControl = new ScreenControl();
|
||||||
|
|
||||||
|
static bool isTUF = AppConfig.IsTUF();
|
||||||
|
|
||||||
KeyboardListener listener;
|
KeyboardListener listener;
|
||||||
KeyboardHook hook = new KeyboardHook();
|
KeyboardHook hook = new KeyboardHook();
|
||||||
|
|
||||||
@@ -57,7 +60,7 @@ namespace GHelper.Input
|
|||||||
if (backlightActivity && iddle.TotalSeconds > kb_timeout)
|
if (backlightActivity && iddle.TotalSeconds > kb_timeout)
|
||||||
{
|
{
|
||||||
backlightActivity = false;
|
backlightActivity = false;
|
||||||
AsusUSB.ApplyBrightness(0, "Timeout");
|
Aura.ApplyBrightness(0, "Timeout");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!backlightActivity && iddle.TotalSeconds < kb_timeout)
|
if (!backlightActivity && iddle.TotalSeconds < kb_timeout)
|
||||||
@@ -66,7 +69,7 @@ namespace GHelper.Input
|
|||||||
SetBacklightAuto();
|
SetBacklightAuto();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Debug.WriteLine(iddle.TotalSeconds);
|
//Logger.WriteLine("Iddle: " + iddle.TotalSeconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
@@ -102,50 +105,122 @@ namespace GHelper.Input
|
|||||||
string actionM1 = AppConfig.GetString("m1");
|
string actionM1 = AppConfig.GetString("m1");
|
||||||
string actionM2 = AppConfig.GetString("m2");
|
string actionM2 = AppConfig.GetString("m2");
|
||||||
|
|
||||||
if (keyProfile != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
|
if (keyProfile != Keys.None)
|
||||||
|
{
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyProfile);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, keyProfile);
|
||||||
|
}
|
||||||
|
|
||||||
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
|
if (keyApp != Keys.None) hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, keyApp);
|
||||||
|
|
||||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
|
if (!AppConfig.Is("skip_hotkeys"))
|
||||||
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
|
{
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
|
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
|
||||||
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeUp);
|
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeUp);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control, Keys.F20);
|
||||||
|
}
|
||||||
|
|
||||||
if (!AppConfig.ContainsModel("Z13"))
|
if (!AppConfig.IsZ13() && !AppConfig.IsAlly())
|
||||||
|
{
|
||||||
if (actionM1 is not null && actionM1.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeDown);
|
if (actionM1 is not null && actionM1.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeDown);
|
||||||
if (actionM2 is not null && actionM2.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeUp);
|
if (actionM2 is not null && actionM2.Length > 0) hook.RegisterHotKey(ModifierKeys.None, Keys.VolumeUp);
|
||||||
|
}
|
||||||
|
|
||||||
// FN-Lock group
|
// FN-Lock group
|
||||||
|
|
||||||
if (AppConfig.Is("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
|
if (AppConfig.Is("fn_lock") && !AppConfig.ContainsModel("VivoBook"))
|
||||||
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
for (Keys i = Keys.F1; i <= Keys.F11; i++) hook.RegisterHotKey(ModifierKeys.None, i);
|
||||||
|
|
||||||
|
// Arrow-lock group
|
||||||
|
if (AppConfig.Is("arrow_lock") && AppConfig.IsDUO())
|
||||||
|
{
|
||||||
|
hook.RegisterHotKey(ModifierKeys.None, Keys.Left);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.None, Keys.Right);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.None, Keys.Up);
|
||||||
|
hook.RegisterHotKey(ModifierKeys.None, Keys.Down);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int[] ParseHexValues(string input)
|
||||||
|
{
|
||||||
|
string pattern = @"\b(0x[0-9A-Fa-f]{1,2}|[0-9A-Fa-f]{1,2})\b";
|
||||||
|
|
||||||
|
if (!Regex.IsMatch(input, $"^{pattern}(\\s+{pattern})*$")) return new int[0];
|
||||||
|
|
||||||
|
MatchCollection matches = Regex.Matches(input, pattern);
|
||||||
|
|
||||||
|
int[] hexValues = new int[matches.Count];
|
||||||
|
|
||||||
|
for (int i = 0; i < matches.Count; i++)
|
||||||
|
{
|
||||||
|
string hexValueStr = matches[i].Value;
|
||||||
|
int hexValue = int.Parse(hexValueStr.StartsWith("0x", StringComparison.OrdinalIgnoreCase)
|
||||||
|
? hexValueStr.Substring(2)
|
||||||
|
: hexValueStr, System.Globalization.NumberStyles.HexNumber);
|
||||||
|
|
||||||
|
hexValues[i] = hexValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hexValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void CustomKey(string configKey = "m3")
|
static void CustomKey(string configKey = "m3")
|
||||||
{
|
{
|
||||||
string command = AppConfig.GetString(configKey + "_custom");
|
string command = AppConfig.GetString(configKey + "_custom");
|
||||||
int intKey;
|
int[] hexKeys = new int[0];
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
intKey = Convert.ToInt32(command, 16);
|
hexKeys = ParseHexValues(command);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
intKey = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (hexKeys.Length)
|
||||||
if (intKey > 0)
|
{
|
||||||
KeyboardHook.KeyPress((Keys)intKey);
|
case 1:
|
||||||
else
|
KeyboardHook.KeyPress((Keys)hexKeys[0]);
|
||||||
LaunchProcess(command);
|
break;
|
||||||
|
case 2:
|
||||||
|
KeyboardHook.KeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1]);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
KeyboardHook.KeyKeyKeyPress((Keys)hexKeys[0], (Keys)hexKeys[1], (Keys)hexKeys[3]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LaunchProcess(command);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool IsManualBrightness()
|
|
||||||
|
static void SetBrightness(int delta)
|
||||||
{
|
{
|
||||||
return AppConfig.ContainsModel("TUF") && !AppConfig.ContainsModel("FA506");
|
int brightness = -1;
|
||||||
|
|
||||||
|
if (isTUF) brightness = ScreenBrightness.Get();
|
||||||
|
if (AppConfig.SwappedBrightness()) delta = -delta;
|
||||||
|
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, delta > 0 ? AsusACPI.Brightness_Up : AsusACPI.Brightness_Down, "Brightness");
|
||||||
|
|
||||||
|
if (isTUF)
|
||||||
|
{
|
||||||
|
if (AppConfig.SwappedBrightness()) return;
|
||||||
|
if (delta < 0 && brightness <= 0) return;
|
||||||
|
if (delta > 0 && brightness >= 100) return;
|
||||||
|
|
||||||
|
Thread.Sleep(100);
|
||||||
|
if (brightness == ScreenBrightness.Get())
|
||||||
|
Program.toast.RunToast(ScreenBrightness.Adjust(delta) + "%", (delta < 0) ? ToastIcon.BrightnessDown : ToastIcon.BrightnessUp);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void KeyPressed(object sender, KeyPressedEventArgs e)
|
public void KeyPressed(object sender, KeyPressedEventArgs e)
|
||||||
@@ -155,7 +230,7 @@ namespace GHelper.Input
|
|||||||
{
|
{
|
||||||
Logger.WriteLine(e.Key.ToString());
|
Logger.WriteLine(e.Key.ToString());
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("Z13") || AppConfig.ContainsModel("FA506"))
|
if (AppConfig.NoMKeys())
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
switch (e.Key)
|
||||||
{
|
{
|
||||||
@@ -171,7 +246,7 @@ namespace GHelper.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("Z13"))
|
if (AppConfig.IsZ13() || AppConfig.IsDUO())
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
switch (e.Key)
|
||||||
{
|
{
|
||||||
@@ -181,7 +256,7 @@ namespace GHelper.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("GA401I") && !AppConfig.ContainsModel("GA401IHR"))
|
if (AppConfig.NoAura())
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
switch (e.Key)
|
||||||
{
|
{
|
||||||
@@ -219,24 +294,22 @@ namespace GHelper.Input
|
|||||||
KeyboardHook.KeyPress(Keys.Snapshot);
|
KeyboardHook.KeyPress(Keys.Snapshot);
|
||||||
break;
|
break;
|
||||||
case Keys.F7:
|
case Keys.F7:
|
||||||
if (IsManualBrightness()) Program.toast.RunToast(ScreenBrightness.Adjust(-10) + "%", ToastIcon.BrightnessDown);
|
SetBrightness(-10);
|
||||||
HandleOptimizationEvent(16);
|
|
||||||
break;
|
break;
|
||||||
case Keys.F8:
|
case Keys.F8:
|
||||||
if (IsManualBrightness()) Program.toast.RunToast(ScreenBrightness.Adjust(+10) + "%", ToastIcon.BrightnessUp);
|
SetBrightness(+10);
|
||||||
HandleOptimizationEvent(32);
|
|
||||||
break;
|
break;
|
||||||
case Keys.F9:
|
case Keys.F9:
|
||||||
KeyboardHook.KeyWinPress(Keys.P);
|
KeyboardHook.KeyKeyPress(Keys.LWin, Keys.P);
|
||||||
break;
|
break;
|
||||||
case Keys.F10:
|
case Keys.F10:
|
||||||
HandleOptimizationEvent(107);
|
ToggleTouchpadEvent(true);
|
||||||
break;
|
break;
|
||||||
case Keys.F11:
|
case Keys.F11:
|
||||||
HandleOptimizationEvent(108);
|
SleepEvent();
|
||||||
break;
|
break;
|
||||||
case Keys.F12:
|
case Keys.F12:
|
||||||
KeyboardHook.KeyWinPress(Keys.A);
|
KeyboardHook.KeyKeyPress(Keys.LWin, Keys.A);
|
||||||
break;
|
break;
|
||||||
case Keys.VolumeDown:
|
case Keys.VolumeDown:
|
||||||
KeyProcess("m1");
|
KeyProcess("m1");
|
||||||
@@ -244,28 +317,48 @@ namespace GHelper.Input
|
|||||||
case Keys.VolumeUp:
|
case Keys.VolumeUp:
|
||||||
KeyProcess("m2");
|
KeyProcess("m2");
|
||||||
break;
|
break;
|
||||||
|
case Keys.Left:
|
||||||
|
KeyboardHook.KeyPress(Keys.Home);
|
||||||
|
break;
|
||||||
|
case Keys.Right:
|
||||||
|
KeyboardHook.KeyPress(Keys.End);
|
||||||
|
break;
|
||||||
|
case Keys.Up:
|
||||||
|
KeyboardHook.KeyPress(Keys.PageUp);
|
||||||
|
break;
|
||||||
|
case Keys.Down:
|
||||||
|
KeyboardHook.KeyPress(Keys.PageDown);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift))
|
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift))
|
||||||
{
|
{
|
||||||
if (e.Key == keyProfile) modeControl.CyclePerformanceMode();
|
if (e.Key == keyProfile) modeControl.CyclePerformanceMode();
|
||||||
if (e.Key == keyApp) Program.SettingsToggle();
|
if (e.Key == keyApp) Program.SettingsToggle();
|
||||||
|
if (e.Key == Keys.F20) KeyProcess("m3");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (e.Modifier == (ModifierKeys.Control | ModifierKeys.Shift | ModifierKeys.Alt))
|
||||||
|
{
|
||||||
|
if (e.Key == keyProfile) modeControl.CyclePerformanceMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (e.Modifier == (ModifierKeys.Control))
|
if (e.Modifier == (ModifierKeys.Control))
|
||||||
{
|
{
|
||||||
switch (e.Key)
|
switch (e.Key)
|
||||||
{
|
{
|
||||||
case Keys.VolumeDown:
|
case Keys.VolumeDown:
|
||||||
// Screen brightness down on CTRL+VolDown
|
// Screen brightness down on CTRL+VolDown
|
||||||
HandleOptimizationEvent(16);
|
SetBrightness(-10);
|
||||||
break;
|
break;
|
||||||
case Keys.VolumeUp:
|
case Keys.VolumeUp:
|
||||||
// Screen brightness up on CTRL+VolUp
|
// Screen brightness up on CTRL+VolUp
|
||||||
HandleOptimizationEvent(32);
|
SetBrightness(+10);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -303,6 +396,8 @@ namespace GHelper.Input
|
|||||||
action = "micmute";
|
action = "micmute";
|
||||||
if (name == "fnc")
|
if (name == "fnc")
|
||||||
action = "fnlock";
|
action = "fnlock";
|
||||||
|
if (name == "fne")
|
||||||
|
action = "calculator";
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (action)
|
switch (action)
|
||||||
@@ -318,7 +413,7 @@ namespace GHelper.Input
|
|||||||
break;
|
break;
|
||||||
case "screen":
|
case "screen":
|
||||||
Logger.WriteLine("Screen off toggle");
|
Logger.WriteLine("Screen off toggle");
|
||||||
NativeMethods.TurnOffScreen(Program.settingsForm.Handle);
|
NativeMethods.TurnOffScreen();
|
||||||
break;
|
break;
|
||||||
case "miniled":
|
case "miniled":
|
||||||
screenControl.ToogleMiniled();
|
screenControl.ToogleMiniled();
|
||||||
@@ -327,13 +422,20 @@ namespace GHelper.Input
|
|||||||
Program.settingsForm.BeginInvoke(Program.settingsForm.CycleAuraMode);
|
Program.settingsForm.BeginInvoke(Program.settingsForm.CycleAuraMode);
|
||||||
break;
|
break;
|
||||||
case "performance":
|
case "performance":
|
||||||
modeControl.CyclePerformanceMode();
|
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
|
||||||
break;
|
break;
|
||||||
case "ghelper":
|
case "ghelper":
|
||||||
Program.settingsForm.BeginInvoke(delegate
|
try
|
||||||
{
|
{
|
||||||
Program.SettingsToggle();
|
Program.settingsForm.BeginInvoke(delegate
|
||||||
});
|
{
|
||||||
|
Program.SettingsToggle();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.WriteLine(ex);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case "fnlock":
|
case "fnlock":
|
||||||
ToggleFnLock();
|
ToggleFnLock();
|
||||||
@@ -341,12 +443,13 @@ namespace GHelper.Input
|
|||||||
case "micmute":
|
case "micmute":
|
||||||
bool muteStatus = Audio.ToggleMute();
|
bool muteStatus = Audio.ToggleMute();
|
||||||
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
Program.toast.RunToast(muteStatus ? "Muted" : "Unmuted", muteStatus ? ToastIcon.MicrophoneMute : ToastIcon.Microphone);
|
||||||
|
if (AppConfig.IsVivobook()) Program.acpi.DeviceSet(AsusACPI.MICMUTE_LED, muteStatus ? 1 : 0, "MicmuteLed");
|
||||||
break;
|
break;
|
||||||
case "brightness_up":
|
case "brightness_up":
|
||||||
HandleOptimizationEvent(32);
|
SetBrightness(+10);
|
||||||
break;
|
break;
|
||||||
case "brightness_down":
|
case "brightness_down":
|
||||||
HandleOptimizationEvent(16);
|
SetBrightness(-10);
|
||||||
break;
|
break;
|
||||||
case "screenpad_up":
|
case "screenpad_up":
|
||||||
SetScreenpad(10);
|
SetScreenpad(10);
|
||||||
@@ -357,7 +460,9 @@ namespace GHelper.Input
|
|||||||
case "custom":
|
case "custom":
|
||||||
CustomKey(name);
|
CustomKey(name);
|
||||||
break;
|
break;
|
||||||
|
case "calculator":
|
||||||
|
LaunchProcess("calc");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -372,7 +477,33 @@ namespace GHelper.Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ToggleFnLock()
|
static void ToggleTouchpadEvent(bool hotkey = false)
|
||||||
|
{
|
||||||
|
if (hotkey || !AppConfig.IsHardwareTouchpadToggle()) ToggleTouchpad();
|
||||||
|
Thread.Sleep(200);
|
||||||
|
Program.toast.RunToast(GetTouchpadState() ? "On" : "Off", ToastIcon.Touchpad);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ToggleTouchpad()
|
||||||
|
{
|
||||||
|
KeyboardHook.KeyKeyKeyPress(Keys.LWin, Keys.LControlKey, Keys.F24, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void SleepEvent()
|
||||||
|
{
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.KB_Sleep, "Sleep");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ToggleArrowLock()
|
||||||
|
{
|
||||||
|
int arLock = AppConfig.Is("arrow_lock") ? 0 : 1;
|
||||||
|
AppConfig.Set("arrow_lock", arLock);
|
||||||
|
|
||||||
|
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||||
|
Program.toast.RunToast("Arrow-Lock " + (arLock == 1 ? "On" : "Off"), ToastIcon.FnLock);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ToggleFnLock()
|
||||||
{
|
{
|
||||||
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
|
int fnLock = AppConfig.Is("fn_lock") ? 0 : 1;
|
||||||
AppConfig.Set("fn_lock", fnLock);
|
AppConfig.Set("fn_lock", fnLock);
|
||||||
@@ -382,6 +513,8 @@ namespace GHelper.Input
|
|||||||
else
|
else
|
||||||
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
Program.settingsForm.BeginInvoke(Program.inputDispatcher.RegisterKeys);
|
||||||
|
|
||||||
|
Program.settingsForm.BeginInvoke(Program.settingsForm.VisualiseFnLock);
|
||||||
|
|
||||||
Program.toast.RunToast("Fn-Lock " + (fnLock == 1 ? "On" : "Off"), ToastIcon.FnLock);
|
Program.toast.RunToast("Fn-Lock " + (fnLock == 1 ? "On" : "Off"), ToastIcon.FnLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,48 +527,86 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
Logger.WriteLine("Tablet: " + tabletState + " Touchpad: " + touchpadState);
|
Logger.WriteLine("Tablet: " + tabletState + " Touchpad: " + touchpadState);
|
||||||
|
|
||||||
if (tabletState && touchpadState || !tabletState && !touchpadState) AsusUSB.TouchpadToggle();
|
if (tabletState && touchpadState || !tabletState && !touchpadState) ToggleTouchpad();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HandleEvent(int EventID)
|
static void HandleEvent(int EventID)
|
||||||
{
|
{
|
||||||
switch (EventID)
|
// The ROG Ally uses different M-key codes.
|
||||||
|
// We'll special-case the translation of those.
|
||||||
|
if (AppConfig.IsAlly())
|
||||||
{
|
{
|
||||||
case 124: // M3
|
switch (EventID)
|
||||||
KeyProcess("m3");
|
{
|
||||||
return;
|
|
||||||
case 56: // M4 / Rog button
|
// This is both the M1 and M2 keys.
|
||||||
KeyProcess("m4");
|
// There's a way to differentiate, apparently, but it isn't over USB or any other obvious protocol.
|
||||||
return;
|
case 165:
|
||||||
case 174: // FN+F5
|
KeyProcess("paddle");
|
||||||
modeControl.CyclePerformanceMode();
|
return;
|
||||||
return;
|
// The Command Center ("play-looking") button below the select key.
|
||||||
case 179: // FN+F4
|
case 166:
|
||||||
case 178: // FN+F4
|
KeyProcess("cc");
|
||||||
KeyProcess("fnf4");
|
return;
|
||||||
return;
|
// The M4/ROG key.
|
||||||
case 158: // Fn + C
|
case 56:
|
||||||
KeyProcess("fnc");
|
KeyProcess("m4");
|
||||||
return;
|
return;
|
||||||
case 78: // Fn + ESC
|
|
||||||
ToggleFnLock();
|
}
|
||||||
return;
|
}
|
||||||
case 189: // Tablet mode
|
// All other devices seem to use the same HID key-codes,
|
||||||
TabletMode();
|
// so we can process them all the same.
|
||||||
return;
|
else
|
||||||
case 197: // FN+F2
|
{
|
||||||
SetBacklight(-1);
|
switch (EventID)
|
||||||
return;
|
{
|
||||||
case 196: // FN+F3
|
case 124: // M3
|
||||||
SetBacklight(1);
|
KeyProcess("m3");
|
||||||
return;
|
return;
|
||||||
case 199: // ON Z13 - FN+F11 - cycles backlight
|
case 56: // M4 / Rog button
|
||||||
SetBacklight(4);
|
KeyProcess("m4");
|
||||||
return;
|
return;
|
||||||
case 53: // FN+F6 on GA-502DU model
|
case 55: // Arconym
|
||||||
NativeMethods.TurnOffScreen(Program.settingsForm.Handle);
|
KeyProcess("m6");
|
||||||
return;
|
return;
|
||||||
|
case 181: // FN + Numpad Enter
|
||||||
|
KeyProcess("fne");
|
||||||
|
return;
|
||||||
|
case 174: // FN+F5
|
||||||
|
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
|
||||||
|
return;
|
||||||
|
case 179: // FN+F4
|
||||||
|
case 178: // FN+F4
|
||||||
|
KeyProcess("fnf4");
|
||||||
|
return;
|
||||||
|
case 158: // Fn + C
|
||||||
|
KeyProcess("fnc");
|
||||||
|
return;
|
||||||
|
case 78: // Fn + ESC
|
||||||
|
ToggleFnLock();
|
||||||
|
return;
|
||||||
|
case 75: // Fn + ESC
|
||||||
|
ToggleArrowLock();
|
||||||
|
return;
|
||||||
|
case 189: // Tablet mode
|
||||||
|
TabletMode();
|
||||||
|
return;
|
||||||
|
case 197: // FN+F2
|
||||||
|
SetBacklight(-1);
|
||||||
|
return;
|
||||||
|
case 196: // FN+F3
|
||||||
|
SetBacklight(1);
|
||||||
|
return;
|
||||||
|
case 199: // ON Z13 - FN+F11 - cycles backlight
|
||||||
|
SetBacklight(4);
|
||||||
|
return;
|
||||||
|
case 51: // Fn+F6 on old TUFs
|
||||||
|
case 53: // Fn+F6 on GA-502DU model
|
||||||
|
NativeMethods.TurnOffScreen();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!OptimizationService.IsRunning())
|
if (!OptimizationService.IsRunning())
|
||||||
@@ -449,21 +620,31 @@ namespace GHelper.Input
|
|||||||
switch (EventID)
|
switch (EventID)
|
||||||
{
|
{
|
||||||
case 16: // FN+F7
|
case 16: // FN+F7
|
||||||
//ScreenBrightness.Adjust(-10);
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
SetScreenpad(-10);
|
||||||
|
else
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Down, "Brightness");
|
||||||
break;
|
break;
|
||||||
case 32: // FN+F8
|
case 32: // FN+F8
|
||||||
//ScreenBrightness.Adjust(+10);
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
SetScreenpad(10);
|
||||||
|
else
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.Brightness_Up, "Brightness");
|
||||||
break;
|
break;
|
||||||
case 107: // FN+F10
|
case 107: // FN+F10
|
||||||
AsusUSB.TouchpadToggle();
|
ToggleTouchpadEvent();
|
||||||
Thread.Sleep(50);
|
|
||||||
Program.toast.RunToast(GetTouchpadState() ? "On" : "Off", ToastIcon.Touchpad);
|
|
||||||
break;
|
break;
|
||||||
case 108: // FN+F11
|
case 108: // FN+F11
|
||||||
Program.acpi.DeviceSet(AsusACPI.UniversalControl, AsusACPI.KB_Sleep, "Sleep");
|
SleepEvent();
|
||||||
break;
|
break;
|
||||||
|
case 106: // Screenpad button on DUO
|
||||||
|
if (Control.ModifierKeys == Keys.Shift)
|
||||||
|
ToggleScreenpad();
|
||||||
|
else
|
||||||
|
SetScreenpad(100);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -484,10 +665,8 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
public static void SetBacklightAuto(bool init = false)
|
public static void SetBacklightAuto(bool init = false)
|
||||||
{
|
{
|
||||||
if (init) AsusUSB.Init();
|
if (init) Aura.Init();
|
||||||
|
Aura.ApplyBrightness(GetBacklight(), "Auto", init);
|
||||||
//if (!OptimizationService.IsRunning())
|
|
||||||
AsusUSB.ApplyBrightness(GetBacklight(), "Auto");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetBacklight(int delta, bool force = false)
|
public static void SetBacklight(int delta, bool force = false)
|
||||||
@@ -510,25 +689,58 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
if (force || !OptimizationService.IsRunning())
|
if (force || !OptimizationService.IsRunning())
|
||||||
{
|
{
|
||||||
AsusUSB.ApplyBrightness(backlight, "HotKey");
|
Aura.ApplyBrightness(backlight, "HotKey");
|
||||||
}
|
}
|
||||||
|
|
||||||
string[] backlightNames = new string[] { "Off", "Low", "Mid", "Max" };
|
if (!OptimizationService.IsOSDRunning())
|
||||||
Program.toast.RunToast(backlightNames[backlight], delta > 0 ? ToastIcon.BacklightUp : ToastIcon.BacklightDown);
|
{
|
||||||
|
string[] backlightNames = new string[] { "Off", "Low", "Mid", "Max" };
|
||||||
|
Program.toast.RunToast(backlightNames[backlight], delta > 0 ? ToastIcon.BacklightUp : ToastIcon.BacklightDown);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ToggleScreenpad()
|
||||||
|
{
|
||||||
|
int toggle = AppConfig.Is("screenpad_toggle") ? 0 : 1;
|
||||||
|
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, toggle, "ScreenpadToggle");
|
||||||
|
AppConfig.Set("screenpad_toggle", toggle);
|
||||||
|
Program.toast.RunToast($"Screen Pad " + (toggle == 1 ? "On" : "Off"), toggle > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void SetScreenpad(int delta)
|
public static void SetScreenpad(int delta)
|
||||||
{
|
{
|
||||||
int brightness = AppConfig.Get("screenpad", 100);
|
int brightness = AppConfig.Get("screenpad", 100);
|
||||||
brightness = Math.Max(Math.Min(100, brightness + delta), 0);
|
|
||||||
|
if (delta == 100)
|
||||||
|
{
|
||||||
|
if (brightness < 0) brightness = 100;
|
||||||
|
else if (brightness >= 100) brightness = 0;
|
||||||
|
else brightness = -10;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
brightness = Math.Max(Math.Min(100, brightness + delta), -10);
|
||||||
|
}
|
||||||
|
|
||||||
AppConfig.Set("screenpad", brightness);
|
AppConfig.Set("screenpad", brightness);
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, (brightness*255/100), "Screenpad");
|
if (brightness >= 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 1, "ScreenpadOn");
|
||||||
if (brightness == 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, brightness, "ScreenpadToggle");
|
|
||||||
|
|
||||||
Program.toast.RunToast($"Screen Pad {brightness}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
Program.acpi.DeviceSet(AsusACPI.ScreenPadBrightness, Math.Max(brightness * 255 / 100, 0), "Screenpad");
|
||||||
|
|
||||||
|
if (brightness < 0) Program.acpi.DeviceSet(AsusACPI.ScreenPadToggle, 0, "ScreenpadOff");
|
||||||
|
|
||||||
|
string toast;
|
||||||
|
|
||||||
|
if (brightness < 0) toast = "Off";
|
||||||
|
else if (brightness == 0) toast = "Hidden";
|
||||||
|
else toast = brightness.ToString() + "%";
|
||||||
|
|
||||||
|
Program.toast.RunToast($"Screen Pad {toast}", delta > 0 ? ToastIcon.BrightnessUp : ToastIcon.BrightnessDown);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -538,9 +750,19 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string executable = command.Split(' ')[0];
|
|
||||||
string arguments = command.Substring(executable.Length).Trim();
|
//string executable = command.Split(' ')[0];
|
||||||
Process proc = Process.Start(executable, arguments);
|
//string arguments = command.Substring(executable.Length).Trim();
|
||||||
|
ProcessStartInfo startInfo = new ProcessStartInfo("cmd", "/C " + command);
|
||||||
|
|
||||||
|
startInfo.RedirectStandardOutput = true;
|
||||||
|
startInfo.RedirectStandardError = true;
|
||||||
|
startInfo.UseShellExecute = false;
|
||||||
|
startInfo.CreateNoWindow = true;
|
||||||
|
|
||||||
|
startInfo.WorkingDirectory = Environment.CurrentDirectory;
|
||||||
|
//startInfo.Arguments = arguments;
|
||||||
|
Process proc = Process.Start(startInfo);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17,21 +17,35 @@ public sealed class KeyboardHook : IDisposable
|
|||||||
|
|
||||||
public const int KEYEVENTF_EXTENDEDKEY = 1;
|
public const int KEYEVENTF_EXTENDEDKEY = 1;
|
||||||
public const int KEYEVENTF_KEYUP = 2;
|
public const int KEYEVENTF_KEYUP = 2;
|
||||||
|
|
||||||
private const byte VK_LWIN = 0x5B;
|
private const byte VK_LWIN = 0x5B;
|
||||||
|
private const byte VK_LCONTROL = 0xA2;
|
||||||
|
|
||||||
public static void KeyPress(Keys key)
|
public static void KeyPress(Keys key)
|
||||||
{
|
{
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void KeyWinPress(Keys key)
|
public static void KeyKeyPress(Keys key, Keys key2)
|
||||||
{
|
{
|
||||||
keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
keybd_event(VK_LWIN, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void KeyKeyKeyPress(Keys key, Keys key2, Keys key3, int sleep = 0)
|
||||||
|
{
|
||||||
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY, IntPtr.Zero);
|
||||||
|
|
||||||
|
keybd_event((byte)key3, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
|
if (sleep > 0) Thread.Sleep(sleep);
|
||||||
|
keybd_event((byte)key2, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
|
if (sleep > 0) Thread.Sleep(sleep);
|
||||||
|
keybd_event((byte)key, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, IntPtr.Zero);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents the window that is used internally to get the messages.
|
/// Represents the window that is used internally to get the messages.
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using HidLibrary;
|
using HidSharp;
|
||||||
|
using GHelper.USB;
|
||||||
|
|
||||||
namespace GHelper.Input
|
namespace GHelper.Input
|
||||||
{
|
{
|
||||||
@@ -9,14 +10,14 @@ namespace GHelper.Input
|
|||||||
|
|
||||||
public KeyboardListener(Action<int> KeyHandler)
|
public KeyboardListener(Action<int> KeyHandler)
|
||||||
{
|
{
|
||||||
HidDevice? input = AsusUSB.GetDevice();
|
HidStream? input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||||
|
|
||||||
// Fallback
|
// Fallback
|
||||||
if (input == null)
|
if (input == null)
|
||||||
{
|
{
|
||||||
AsusUSB.Init();
|
Aura.Init();
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
input = AsusUSB.GetDevice();
|
input = input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input == null)
|
if (input == null)
|
||||||
@@ -25,7 +26,9 @@ namespace GHelper.Input
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger.WriteLine($"Input: {input.DevicePath}");
|
input.ReadTimeout = int.MaxValue;
|
||||||
|
|
||||||
|
Logger.WriteLine($"Input: {input.Device.DevicePath}");
|
||||||
|
|
||||||
var task = Task.Run(() =>
|
var task = Task.Run(() =>
|
||||||
{
|
{
|
||||||
@@ -35,14 +38,15 @@ namespace GHelper.Input
|
|||||||
{
|
{
|
||||||
|
|
||||||
// Emergency break
|
// Emergency break
|
||||||
if (input == null || !input.IsConnected)
|
if (input == null || !input.CanRead)
|
||||||
{
|
{
|
||||||
Logger.WriteLine("Listener terminated");
|
Logger.WriteLine("Listener terminated");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
var data = input.Read().Data;
|
|
||||||
if (data.Length > 1 && data[0] == AsusUSB.INPUT_HID_ID && data[1] > 0 && data[1] != 236)
|
var data = input.Read();
|
||||||
|
if (data.Length > 1 && data[0] == AsusHid.INPUT_ID && data[1] > 0 && data[1] != 236)
|
||||||
{
|
{
|
||||||
Logger.WriteLine($"Key: {data[1]}");
|
Logger.WriteLine($"Key: {data[1]}");
|
||||||
KeyHandler(data[1]);
|
KeyHandler(data[1]);
|
||||||
|
|||||||
304
app/Matrix.Designer.cs
generated
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
namespace GHelper
|
||||||
|
{
|
||||||
|
partial class Matrix
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
pictureMatrix = new PictureBox();
|
||||||
|
trackZoom = new TrackBar();
|
||||||
|
buttonPicture = new UI.RButton();
|
||||||
|
panelPicture = new Panel();
|
||||||
|
panelMain = new Panel();
|
||||||
|
panelButtons = new Panel();
|
||||||
|
buttonReset = new UI.RButton();
|
||||||
|
panelRotation = new Panel();
|
||||||
|
comboRotation = new UI.RComboBox();
|
||||||
|
labelRotation = new Label();
|
||||||
|
panelScaling = new Panel();
|
||||||
|
comboScaling = new UI.RComboBox();
|
||||||
|
labelScaling = new Label();
|
||||||
|
panelZoom = new Panel();
|
||||||
|
labelZoom = new Label();
|
||||||
|
labelZoomTitle = new Label();
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackZoom).BeginInit();
|
||||||
|
panelPicture.SuspendLayout();
|
||||||
|
panelMain.SuspendLayout();
|
||||||
|
panelButtons.SuspendLayout();
|
||||||
|
panelRotation.SuspendLayout();
|
||||||
|
panelScaling.SuspendLayout();
|
||||||
|
panelZoom.SuspendLayout();
|
||||||
|
SuspendLayout();
|
||||||
|
//
|
||||||
|
// pictureMatrix
|
||||||
|
//
|
||||||
|
pictureMatrix.BackColor = Color.Black;
|
||||||
|
pictureMatrix.Cursor = Cursors.SizeAll;
|
||||||
|
pictureMatrix.Location = new Point(731, 27);
|
||||||
|
pictureMatrix.Name = "pictureMatrix";
|
||||||
|
pictureMatrix.Size = new Size(81, 73);
|
||||||
|
pictureMatrix.TabIndex = 0;
|
||||||
|
pictureMatrix.TabStop = false;
|
||||||
|
//
|
||||||
|
// trackZoom
|
||||||
|
//
|
||||||
|
trackZoom.LargeChange = 50;
|
||||||
|
trackZoom.Location = new Point(16, 52);
|
||||||
|
trackZoom.Maximum = 200;
|
||||||
|
trackZoom.Minimum = 10;
|
||||||
|
trackZoom.Name = "trackZoom";
|
||||||
|
trackZoom.Size = new Size(782, 90);
|
||||||
|
trackZoom.SmallChange = 10;
|
||||||
|
trackZoom.TabIndex = 2;
|
||||||
|
trackZoom.TickFrequency = 20;
|
||||||
|
trackZoom.TickStyle = TickStyle.TopLeft;
|
||||||
|
trackZoom.Value = 100;
|
||||||
|
//
|
||||||
|
// buttonPicture
|
||||||
|
//
|
||||||
|
buttonPicture.Activated = false;
|
||||||
|
buttonPicture.BackColor = SystemColors.ControlLight;
|
||||||
|
buttonPicture.BorderColor = Color.Transparent;
|
||||||
|
buttonPicture.BorderRadius = 5;
|
||||||
|
buttonPicture.FlatAppearance.BorderSize = 0;
|
||||||
|
buttonPicture.FlatStyle = FlatStyle.Flat;
|
||||||
|
buttonPicture.Image = Properties.Resources.icons8_matrix_32;
|
||||||
|
buttonPicture.Location = new Point(16, 19);
|
||||||
|
buttonPicture.Name = "buttonPicture";
|
||||||
|
buttonPicture.Secondary = true;
|
||||||
|
buttonPicture.Size = new Size(258, 56);
|
||||||
|
buttonPicture.TabIndex = 3;
|
||||||
|
buttonPicture.Text = "Picture / Gif";
|
||||||
|
buttonPicture.TextAlign = ContentAlignment.MiddleRight;
|
||||||
|
buttonPicture.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
|
buttonPicture.UseVisualStyleBackColor = false;
|
||||||
|
//
|
||||||
|
// panelPicture
|
||||||
|
//
|
||||||
|
panelPicture.BackColor = Color.Black;
|
||||||
|
panelPicture.Controls.Add(pictureMatrix);
|
||||||
|
panelPicture.Dock = DockStyle.Top;
|
||||||
|
panelPicture.Location = new Point(0, 0);
|
||||||
|
panelPicture.Name = "panelPicture";
|
||||||
|
panelPicture.Size = new Size(834, 419);
|
||||||
|
panelPicture.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// panelMain
|
||||||
|
//
|
||||||
|
panelMain.AutoSize = true;
|
||||||
|
panelMain.Controls.Add(panelButtons);
|
||||||
|
panelMain.Controls.Add(panelRotation);
|
||||||
|
panelMain.Controls.Add(panelScaling);
|
||||||
|
panelMain.Controls.Add(panelZoom);
|
||||||
|
panelMain.Controls.Add(panelPicture);
|
||||||
|
panelMain.Dock = DockStyle.Top;
|
||||||
|
panelMain.Location = new Point(20, 20);
|
||||||
|
panelMain.Name = "panelMain";
|
||||||
|
panelMain.Size = new Size(834, 814);
|
||||||
|
panelMain.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// panelButtons
|
||||||
|
//
|
||||||
|
panelButtons.Controls.Add(buttonReset);
|
||||||
|
panelButtons.Controls.Add(buttonPicture);
|
||||||
|
panelButtons.Dock = DockStyle.Top;
|
||||||
|
panelButtons.Location = new Point(0, 720);
|
||||||
|
panelButtons.Name = "panelButtons";
|
||||||
|
panelButtons.Size = new Size(834, 94);
|
||||||
|
panelButtons.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// buttonReset
|
||||||
|
//
|
||||||
|
buttonReset.Activated = false;
|
||||||
|
buttonReset.BackColor = SystemColors.ControlLight;
|
||||||
|
buttonReset.BorderColor = Color.Transparent;
|
||||||
|
buttonReset.BorderRadius = 5;
|
||||||
|
buttonReset.FlatAppearance.BorderSize = 0;
|
||||||
|
buttonReset.FlatStyle = FlatStyle.Flat;
|
||||||
|
buttonReset.Image = Properties.Resources.icons8_refresh_32;
|
||||||
|
buttonReset.Location = new Point(290, 19);
|
||||||
|
buttonReset.Name = "buttonReset";
|
||||||
|
buttonReset.Secondary = true;
|
||||||
|
buttonReset.Size = new Size(258, 56);
|
||||||
|
buttonReset.TabIndex = 4;
|
||||||
|
buttonReset.Text = "Reset";
|
||||||
|
buttonReset.TextAlign = ContentAlignment.MiddleRight;
|
||||||
|
buttonReset.TextImageRelation = TextImageRelation.ImageBeforeText;
|
||||||
|
buttonReset.UseVisualStyleBackColor = false;
|
||||||
|
//
|
||||||
|
// panelRotation
|
||||||
|
//
|
||||||
|
panelRotation.Controls.Add(comboRotation);
|
||||||
|
panelRotation.Controls.Add(labelRotation);
|
||||||
|
panelRotation.Dock = DockStyle.Top;
|
||||||
|
panelRotation.Location = new Point(0, 642);
|
||||||
|
panelRotation.Name = "panelRotation";
|
||||||
|
panelRotation.Size = new Size(834, 78);
|
||||||
|
panelRotation.TabIndex = 8;
|
||||||
|
//
|
||||||
|
// comboRotation
|
||||||
|
//
|
||||||
|
comboRotation.BorderColor = Color.White;
|
||||||
|
comboRotation.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboRotation.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
comboRotation.FormattingEnabled = true;
|
||||||
|
comboRotation.ItemHeight = 32;
|
||||||
|
comboRotation.Items.AddRange(new object[] { "Straight", "Diagonal" });
|
||||||
|
comboRotation.Location = new Point(229, 17);
|
||||||
|
comboRotation.Margin = new Padding(4, 11, 4, 8);
|
||||||
|
comboRotation.Name = "comboRotation";
|
||||||
|
comboRotation.Size = new Size(322, 40);
|
||||||
|
comboRotation.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// labelRotation
|
||||||
|
//
|
||||||
|
labelRotation.AutoSize = true;
|
||||||
|
labelRotation.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelRotation.Location = new Point(16, 20);
|
||||||
|
labelRotation.Name = "labelRotation";
|
||||||
|
labelRotation.Size = new Size(190, 32);
|
||||||
|
labelRotation.TabIndex = 4;
|
||||||
|
labelRotation.Text = "Image Rotation";
|
||||||
|
//
|
||||||
|
// panelScaling
|
||||||
|
//
|
||||||
|
panelScaling.Controls.Add(comboScaling);
|
||||||
|
panelScaling.Controls.Add(labelScaling);
|
||||||
|
panelScaling.Dock = DockStyle.Top;
|
||||||
|
panelScaling.Location = new Point(0, 564);
|
||||||
|
panelScaling.Name = "panelScaling";
|
||||||
|
panelScaling.Size = new Size(834, 78);
|
||||||
|
panelScaling.TabIndex = 7;
|
||||||
|
//
|
||||||
|
// comboScaling
|
||||||
|
//
|
||||||
|
comboScaling.BorderColor = Color.White;
|
||||||
|
comboScaling.ButtonColor = Color.FromArgb(255, 255, 255);
|
||||||
|
comboScaling.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
comboScaling.FormattingEnabled = true;
|
||||||
|
comboScaling.ItemHeight = 32;
|
||||||
|
comboScaling.Items.AddRange(new object[] { "Default", "Low", "High", "Bilinear", "Bicubic", "NearestNeighbor", "HighQualityBilinear", "HighQualityBicubic" });
|
||||||
|
comboScaling.Location = new Point(229, 17);
|
||||||
|
comboScaling.Margin = new Padding(4, 11, 4, 8);
|
||||||
|
comboScaling.Name = "comboScaling";
|
||||||
|
comboScaling.Size = new Size(322, 40);
|
||||||
|
comboScaling.TabIndex = 17;
|
||||||
|
//
|
||||||
|
// labelScaling
|
||||||
|
//
|
||||||
|
labelScaling.AutoSize = true;
|
||||||
|
labelScaling.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelScaling.Location = new Point(16, 20);
|
||||||
|
labelScaling.Name = "labelScaling";
|
||||||
|
labelScaling.Size = new Size(185, 32);
|
||||||
|
labelScaling.TabIndex = 4;
|
||||||
|
labelScaling.Text = "Scaling Quality";
|
||||||
|
//
|
||||||
|
// panelZoom
|
||||||
|
//
|
||||||
|
panelZoom.AutoSize = true;
|
||||||
|
panelZoom.Controls.Add(labelZoom);
|
||||||
|
panelZoom.Controls.Add(labelZoomTitle);
|
||||||
|
panelZoom.Controls.Add(trackZoom);
|
||||||
|
panelZoom.Dock = DockStyle.Top;
|
||||||
|
panelZoom.Location = new Point(0, 419);
|
||||||
|
panelZoom.Name = "panelZoom";
|
||||||
|
panelZoom.Size = new Size(834, 145);
|
||||||
|
panelZoom.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// labelZoom
|
||||||
|
//
|
||||||
|
labelZoom.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||||
|
labelZoom.AutoSize = true;
|
||||||
|
labelZoom.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point);
|
||||||
|
labelZoom.Location = new Point(731, 17);
|
||||||
|
labelZoom.Name = "labelZoom";
|
||||||
|
labelZoom.Size = new Size(77, 32);
|
||||||
|
labelZoom.TabIndex = 4;
|
||||||
|
labelZoom.Text = "Zoom";
|
||||||
|
//
|
||||||
|
// labelZoomTitle
|
||||||
|
//
|
||||||
|
labelZoomTitle.AutoSize = true;
|
||||||
|
labelZoomTitle.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
|
labelZoomTitle.Location = new Point(16, 17);
|
||||||
|
labelZoomTitle.Name = "labelZoomTitle";
|
||||||
|
labelZoomTitle.Size = new Size(81, 32);
|
||||||
|
labelZoomTitle.TabIndex = 3;
|
||||||
|
labelZoomTitle.Text = "Zoom";
|
||||||
|
//
|
||||||
|
// Matrix
|
||||||
|
//
|
||||||
|
AutoScaleDimensions = new SizeF(192F, 192F);
|
||||||
|
AutoScaleMode = AutoScaleMode.Dpi;
|
||||||
|
AutoSize = true;
|
||||||
|
ClientSize = new Size(874, 978);
|
||||||
|
Controls.Add(panelMain);
|
||||||
|
MaximizeBox = false;
|
||||||
|
MinimizeBox = false;
|
||||||
|
MinimumSize = new Size(900, 0);
|
||||||
|
Name = "Matrix";
|
||||||
|
Padding = new Padding(20);
|
||||||
|
ShowIcon = false;
|
||||||
|
ShowInTaskbar = false;
|
||||||
|
Text = "Matrix";
|
||||||
|
((System.ComponentModel.ISupportInitialize)pictureMatrix).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)trackZoom).EndInit();
|
||||||
|
panelPicture.ResumeLayout(false);
|
||||||
|
panelMain.ResumeLayout(false);
|
||||||
|
panelMain.PerformLayout();
|
||||||
|
panelButtons.ResumeLayout(false);
|
||||||
|
panelRotation.ResumeLayout(false);
|
||||||
|
panelRotation.PerformLayout();
|
||||||
|
panelScaling.ResumeLayout(false);
|
||||||
|
panelScaling.PerformLayout();
|
||||||
|
panelZoom.ResumeLayout(false);
|
||||||
|
panelZoom.PerformLayout();
|
||||||
|
ResumeLayout(false);
|
||||||
|
PerformLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private PictureBox pictureMatrix;
|
||||||
|
private TrackBar trackZoom;
|
||||||
|
private UI.RButton buttonPicture;
|
||||||
|
private Panel panelPicture;
|
||||||
|
private Panel panelMain;
|
||||||
|
private Panel panelZoom;
|
||||||
|
private Label labelZoom;
|
||||||
|
private Label labelZoomTitle;
|
||||||
|
private Panel panelButtons;
|
||||||
|
private UI.RButton buttonReset;
|
||||||
|
private Panel panelScaling;
|
||||||
|
private Label labelScaling;
|
||||||
|
private UI.RComboBox comboScaling;
|
||||||
|
private Panel panelRotation;
|
||||||
|
private UI.RComboBox comboRotation;
|
||||||
|
private Label labelRotation;
|
||||||
|
}
|
||||||
|
}
|
||||||
222
app/Matrix.cs
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
using GHelper.AnimeMatrix;
|
||||||
|
using GHelper.UI;
|
||||||
|
|
||||||
|
namespace GHelper
|
||||||
|
{
|
||||||
|
public partial class Matrix : RForm
|
||||||
|
{
|
||||||
|
|
||||||
|
public AniMatrixControl matrixControl = Program.settingsForm.matrixControl;
|
||||||
|
|
||||||
|
private bool Dragging;
|
||||||
|
private int xPos;
|
||||||
|
private int yPos;
|
||||||
|
|
||||||
|
private int baseX;
|
||||||
|
private int baseY;
|
||||||
|
|
||||||
|
private float uiScale;
|
||||||
|
|
||||||
|
Image picture;
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
|
||||||
|
public Matrix()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
InitTheme(true);
|
||||||
|
|
||||||
|
Shown += Matrix_Shown;
|
||||||
|
FormClosing += Matrix_FormClosed;
|
||||||
|
|
||||||
|
buttonPicture.Click += ButtonPicture_Click;
|
||||||
|
buttonReset.Click += ButtonReset_Click;
|
||||||
|
|
||||||
|
pictureMatrix.MouseUp += PictureMatrix_MouseUp;
|
||||||
|
pictureMatrix.MouseMove += PictureMatrix_MouseMove;
|
||||||
|
pictureMatrix.MouseDown += PictureMatrix_MouseDown;
|
||||||
|
|
||||||
|
trackZoom.MouseUp += TrackZoom_MouseUp;
|
||||||
|
trackZoom.ValueChanged += TrackZoom_Changed;
|
||||||
|
|
||||||
|
trackZoom.Value = Math.Min(trackZoom.Maximum, AppConfig.Get("matrix_zoom", 100));
|
||||||
|
VisualiseZoom();
|
||||||
|
|
||||||
|
comboScaling.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboScaling.SelectedIndex = AppConfig.Get("matrix_quality", 0);
|
||||||
|
comboScaling.SelectedValueChanged += ComboScaling_SelectedValueChanged;
|
||||||
|
|
||||||
|
comboRotation.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
|
comboRotation.SelectedIndex = AppConfig.Get("matrix_rotation", 0);
|
||||||
|
comboRotation.SelectedValueChanged += ComboRotation_SelectedValueChanged; ;
|
||||||
|
|
||||||
|
|
||||||
|
uiScale = panelPicture.Width / matrixControl.device.MaxColumns / 3;
|
||||||
|
panelPicture.Height = (int)(matrixControl.device.MaxRows * uiScale);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboRotation_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_rotation", comboRotation.SelectedIndex);
|
||||||
|
SetMatrixPicture(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ComboScaling_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_quality", comboScaling.SelectedIndex);
|
||||||
|
SetMatrixPicture(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Matrix_FormClosed(object? sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
if (picture is not null) picture.Dispose();
|
||||||
|
if (ms is not null) ms.Dispose();
|
||||||
|
|
||||||
|
pictureMatrix.Dispose();
|
||||||
|
|
||||||
|
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VisualiseZoom()
|
||||||
|
{
|
||||||
|
labelZoom.Text = trackZoom.Value + "%";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_zoom", 100);
|
||||||
|
AppConfig.Set("matrix_x", 0);
|
||||||
|
AppConfig.Set("matrix_y", 0);
|
||||||
|
|
||||||
|
trackZoom.Value = 100;
|
||||||
|
|
||||||
|
SetMatrixPicture();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TrackZoom_MouseUp(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AppConfig.Set("matrix_zoom", trackZoom.Value);
|
||||||
|
SetMatrixPicture();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TrackZoom_Changed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
VisualiseZoom();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void PictureMatrix_MouseDown(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Button == MouseButtons.Left)
|
||||||
|
{
|
||||||
|
Dragging = true;
|
||||||
|
xPos = e.X;
|
||||||
|
yPos = e.Y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PictureMatrix_MouseMove(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
Control c = sender as Control;
|
||||||
|
if (Dragging && c != null)
|
||||||
|
{
|
||||||
|
c.Top = e.Y + c.Top - yPos;
|
||||||
|
c.Left = e.X + c.Left - xPos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PictureMatrix_MouseUp(object? sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
Dragging = false;
|
||||||
|
|
||||||
|
Control c = sender as Control;
|
||||||
|
|
||||||
|
int matrixX = (int)((baseX - c.Left) / uiScale);
|
||||||
|
int matrixY = (int)((baseY - c.Top) / uiScale);
|
||||||
|
|
||||||
|
AppConfig.Set("matrix_x", matrixX);
|
||||||
|
AppConfig.Set("matrix_y", matrixY);
|
||||||
|
|
||||||
|
SetMatrixPicture(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Matrix_Shown(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FormPosition();
|
||||||
|
SetMatrixPicture();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetMatrixPicture(bool visualise = true)
|
||||||
|
{
|
||||||
|
matrixControl.SetMatrixPicture(AppConfig.GetString("matrix_picture"), visualise);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonPicture_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
matrixControl.OpenMatrixPicture();
|
||||||
|
|
||||||
|
}
|
||||||
|
public void FormPosition()
|
||||||
|
{
|
||||||
|
if (Height > Program.settingsForm.Height)
|
||||||
|
{
|
||||||
|
Top = Program.settingsForm.Top + Program.settingsForm.Height - Height;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Height = Program.settingsForm.Height;
|
||||||
|
Top = Program.settingsForm.Top;
|
||||||
|
}
|
||||||
|
|
||||||
|
Left = Program.settingsForm.Left - Width - 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void VisualiseMatrix(string fileName)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (picture is not null) picture.Dispose();
|
||||||
|
|
||||||
|
using (var fs = new FileStream(fileName, FileMode.Open))
|
||||||
|
{
|
||||||
|
|
||||||
|
ms.SetLength(0);
|
||||||
|
fs.CopyTo(ms);
|
||||||
|
ms.Position = 0;
|
||||||
|
fs.Close();
|
||||||
|
|
||||||
|
picture = Image.FromStream(ms);
|
||||||
|
|
||||||
|
int width = picture.Width;
|
||||||
|
int height = picture.Height;
|
||||||
|
|
||||||
|
int matrixX = AppConfig.Get("matrix_x", 0);
|
||||||
|
int matrixY = AppConfig.Get("matrix_y", 0);
|
||||||
|
int matrixZoom = AppConfig.Get("matrix_zoom", 100);
|
||||||
|
|
||||||
|
|
||||||
|
float scale = Math.Min((float)panelPicture.Width / (float)width, (float)panelPicture.Height / (float)height) * matrixZoom / 100;
|
||||||
|
|
||||||
|
pictureMatrix.Width = (int)(width * scale);
|
||||||
|
pictureMatrix.Height = (int)(height * scale);
|
||||||
|
|
||||||
|
baseX = panelPicture.Width - pictureMatrix.Width;
|
||||||
|
baseY = 0;
|
||||||
|
|
||||||
|
pictureMatrix.Left = baseX - (int)(matrixX * uiScale);
|
||||||
|
pictureMatrix.Top = baseY - (int)(matrixY * uiScale);
|
||||||
|
|
||||||
|
pictureMatrix.SizeMode = PictureBoxSizeMode.Zoom;
|
||||||
|
pictureMatrix.Image = picture;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
120
app/Matrix.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using GHelper.Battery;
|
using GHelper.Gpu.NVidia;
|
||||||
using GHelper.Gpu.NVidia;
|
|
||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
|
using GHelper.USB;
|
||||||
using Ryzen;
|
using Ryzen;
|
||||||
|
|
||||||
namespace GHelper.Mode
|
namespace GHelper.Mode
|
||||||
@@ -46,7 +46,12 @@ namespace GHelper.Mode
|
|||||||
public void ResetPerformanceMode()
|
public void ResetPerformanceMode()
|
||||||
{
|
{
|
||||||
ResetRyzen();
|
ResetRyzen();
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Mode");
|
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Mode");
|
||||||
|
|
||||||
|
// Default power mode
|
||||||
|
AppConfig.RemoveMode("powermode");
|
||||||
|
PowerNative.SetPowerMode(Modes.GetCurrentBase());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetPerformanceMode(int mode = -1, bool notify = false)
|
public void SetPerformanceMode(int mode = -1, bool notify = false)
|
||||||
@@ -65,9 +70,18 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
Modes.SetCurrent(mode);
|
Modes.SetCurrent(mode);
|
||||||
|
|
||||||
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
int status = Program.acpi.DeviceSet(AsusACPI.PerformanceMode, AppConfig.IsManualModeRequired() ? AsusACPI.PerformanceManual : Modes.GetBase(mode), "Mode");
|
||||||
|
|
||||||
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) AsusUSB.ResetXGM();
|
// Vivobook fallback
|
||||||
|
if (status != 1)
|
||||||
|
{
|
||||||
|
int vivoMode = Modes.GetBase(mode);
|
||||||
|
if (vivoMode == 1) vivoMode = 2;
|
||||||
|
else if (vivoMode == 2) vivoMode = 1;
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.VivoBookMode, vivoMode, "VivoMode");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected()) XGM.Reset();
|
||||||
|
|
||||||
if (notify)
|
if (notify)
|
||||||
Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
|
Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery);
|
||||||
@@ -76,18 +90,21 @@ namespace GHelper.Mode
|
|||||||
AutoFans();
|
AutoFans();
|
||||||
AutoPower(1000);
|
AutoPower(1000);
|
||||||
|
|
||||||
if (AppConfig.Get("auto_apply_power_plan") != 0)
|
// Power plan from config or defaulting to balanced
|
||||||
{
|
if (AppConfig.GetModeString("scheme") is not null)
|
||||||
if (AppConfig.GetModeString("scheme") is not null)
|
PowerNative.SetPowerPlan(AppConfig.GetModeString("scheme"));
|
||||||
PowerNative.SetPowerScheme(AppConfig.GetModeString("scheme"));
|
else
|
||||||
else
|
PowerNative.SetBalancedPowerPlan();
|
||||||
PowerNative.SetPowerScheme(Modes.GetBase(mode));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Windows power mode
|
||||||
|
if (AppConfig.GetModeString("powermode") is not null)
|
||||||
|
PowerNative.SetPowerMode(AppConfig.GetModeString("powermode"));
|
||||||
|
else
|
||||||
|
PowerNative.SetPowerMode(Modes.GetBase(mode));
|
||||||
|
|
||||||
|
// CPU Boost setting override
|
||||||
if (AppConfig.GetMode("auto_boost") != -1)
|
if (AppConfig.GetMode("auto_boost") != -1)
|
||||||
{
|
|
||||||
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
PowerNative.SetCPUBoost(AppConfig.GetMode("auto_boost"));
|
||||||
}
|
|
||||||
|
|
||||||
//BatteryControl.SetBatteryChargeLimit();
|
//BatteryControl.SetBatteryChargeLimit();
|
||||||
|
|
||||||
@@ -102,9 +119,9 @@ namespace GHelper.Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void CyclePerformanceMode()
|
public void CyclePerformanceMode(bool back = false)
|
||||||
{
|
{
|
||||||
SetPerformanceMode(Modes.GetNext(Control.ModifierKeys == Keys.Shift), true);
|
SetPerformanceMode(Modes.GetNext(back), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AutoFans(bool force = false)
|
public void AutoFans(bool force = false)
|
||||||
@@ -117,7 +134,7 @@ namespace GHelper.Mode
|
|||||||
bool xgmFan = false;
|
bool xgmFan = false;
|
||||||
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected())
|
if (AppConfig.Is("xgm_fan") && Program.acpi.IsXGConnected())
|
||||||
{
|
{
|
||||||
AsusUSB.SetXGMFan(AppConfig.GetFanConfig(AsusFan.XGM));
|
XGM.SetFan(AppConfig.GetFanConfig(AsusFan.XGM));
|
||||||
xgmFan = true;
|
xgmFan = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,10 +148,16 @@ namespace GHelper.Mode
|
|||||||
// something went wrong, resetting to default profile
|
// something went wrong, resetting to default profile
|
||||||
if (cpuResult != 1 || gpuResult != 1)
|
if (cpuResult != 1 || gpuResult != 1)
|
||||||
{
|
{
|
||||||
int mode = Modes.GetCurrentBase();
|
cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU));
|
||||||
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
|
gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU));
|
||||||
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
|
|
||||||
settings.LabelFansResult("ASUS BIOS rejected fan curve");
|
if (cpuResult != 1 || gpuResult != 1)
|
||||||
|
{
|
||||||
|
int mode = Modes.GetCurrentBase();
|
||||||
|
Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode);
|
||||||
|
Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode");
|
||||||
|
settings.LabelFansResult("ASUS BIOS rejected fan curve");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -143,7 +166,7 @@ namespace GHelper.Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// force set PPTs for missbehaving bios on FX507/517 series
|
// force set PPTs for missbehaving bios on FX507/517 series
|
||||||
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || xgmFan) && !AppConfig.IsMode("auto_apply_power"))
|
if ((AppConfig.IsPowerRequired() || xgmFan) && !AppConfig.IsMode("auto_apply_power"))
|
||||||
{
|
{
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
@@ -159,22 +182,6 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool IsManualModeRequired()
|
|
||||||
{
|
|
||||||
if (!AppConfig.IsMode("auto_apply_power"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return
|
|
||||||
AppConfig.Is("manual_mode") ||
|
|
||||||
AppConfig.ContainsModel("GU604") ||
|
|
||||||
AppConfig.ContainsModel("G733");
|
|
||||||
}
|
|
||||||
|
|
||||||
private static bool IsFanRequired()
|
|
||||||
{
|
|
||||||
return AppConfig.ContainsModel("GA402X") || AppConfig.ContainsModel("G513");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AutoPower(int delay = 0)
|
public void AutoPower(int delay = 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -184,17 +191,17 @@ namespace GHelper.Mode
|
|||||||
bool applyFans = AppConfig.IsMode("auto_apply");
|
bool applyFans = AppConfig.IsMode("auto_apply");
|
||||||
//bool applyGPU = true;
|
//bool applyGPU = true;
|
||||||
|
|
||||||
if (applyPower)
|
if (applyPower && !applyFans)
|
||||||
{
|
{
|
||||||
// force fan curve for misbehaving bios PPTs on some models
|
// force fan curve for misbehaving bios PPTs on some models
|
||||||
if (!applyFans && IsFanRequired())
|
if (AppConfig.IsFanRequired())
|
||||||
{
|
{
|
||||||
delay = 500;
|
delay = 500;
|
||||||
AutoFans(true);
|
AutoFans(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix for models that don't support PPT settings in all modes, setting a "manual" mode for them
|
// Fix for models that don't support PPT settings in all modes, setting a "manual" mode for them
|
||||||
if (IsManualModeRequired() && !applyFans)
|
if (AppConfig.IsManualModeRequired())
|
||||||
{
|
{
|
||||||
AutoFans(true);
|
AutoFans(true);
|
||||||
}
|
}
|
||||||
@@ -209,7 +216,7 @@ namespace GHelper.Mode
|
|||||||
timer.Dispose();
|
timer.Dispose();
|
||||||
|
|
||||||
if (applyPower) SetPower();
|
if (applyPower) SetPower();
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(500);
|
||||||
SetGPUPower();
|
SetGPUPower();
|
||||||
AutoRyzen();
|
AutoRyzen();
|
||||||
};
|
};
|
||||||
@@ -296,35 +303,35 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
public void SetGPUClocks(bool launchAsAdmin = true)
|
public void SetGPUClocks(bool launchAsAdmin = true)
|
||||||
{
|
{
|
||||||
|
Task.Run(() =>
|
||||||
int gpu_core = AppConfig.GetMode("gpu_core");
|
|
||||||
int gpu_memory = AppConfig.GetMode("gpu_memory");
|
|
||||||
|
|
||||||
if (gpu_core == -1 && gpu_memory == -1) return;
|
|
||||||
|
|
||||||
//if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false;
|
|
||||||
|
|
||||||
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) == 1) return;
|
|
||||||
if (HardwareControl.GpuControl is null) return;
|
|
||||||
if (!HardwareControl.GpuControl!.IsNvidia) return;
|
|
||||||
|
|
||||||
using NvidiaGpuControl nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
int getStatus = nvControl.GetClocks(out int current_core, out int current_memory);
|
|
||||||
if (getStatus != -1)
|
int core = AppConfig.GetMode("gpu_core");
|
||||||
|
int memory = AppConfig.GetMode("gpu_memory");
|
||||||
|
int clock_limit = AppConfig.GetMode("gpu_clock_limit");
|
||||||
|
|
||||||
|
if (core == -1 && memory == -1 && clock_limit == -1) return;
|
||||||
|
|
||||||
|
//if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false;
|
||||||
|
|
||||||
|
if (Program.acpi.DeviceGet(AsusACPI.GPUEco) == 1) { Logger.WriteLine("Clocks: Eco"); return; }
|
||||||
|
if (HardwareControl.GpuControl is null) { Logger.WriteLine("Clocks: NoGPUControl"); return; }
|
||||||
|
if (!HardwareControl.GpuControl!.IsNvidia) { Logger.WriteLine("Clocks: NotNvidia"); return; }
|
||||||
|
|
||||||
|
using NvidiaGpuControl nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
|
||||||
|
try
|
||||||
{
|
{
|
||||||
if (Math.Abs(gpu_core - current_core) < 5 && Math.Abs(gpu_memory - current_memory) < 5) return;
|
int statusLimit = nvControl.SetMaxGPUClock(clock_limit);
|
||||||
|
int statusClocks = nvControl.SetClocks(core, memory);
|
||||||
|
if ((statusLimit != 0 || statusClocks != 0) && launchAsAdmin) ProcessHelper.RunAsAdmin("gpu");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Clocks Error:" + ex.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
int setStatus = nvControl.SetClocks(gpu_core, gpu_memory);
|
settings.GPUInit();
|
||||||
if (launchAsAdmin && setStatus == -1) ProcessHelper.RunAsAdmin("gpu");
|
});
|
||||||
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Logger.WriteLine(ex.ToString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetGPUPower()
|
public void SetGPUPower()
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
"gpu_memory",
|
"gpu_memory",
|
||||||
"auto_boost",
|
"auto_boost",
|
||||||
"auto_apply",
|
"auto_apply",
|
||||||
"auto_apply_power"
|
"auto_apply_power",
|
||||||
|
"powermode"
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (string clean in cleanup)
|
foreach (string clean in cleanup)
|
||||||
|
|||||||
@@ -72,7 +72,24 @@ namespace GHelper.Mode
|
|||||||
[DllImportAttribute("powrprof.dll", EntryPoint = "PowerSetActiveOverlayScheme")]
|
[DllImportAttribute("powrprof.dll", EntryPoint = "PowerSetActiveOverlayScheme")]
|
||||||
public static extern uint PowerSetActiveOverlayScheme(Guid OverlaySchemeGuid);
|
public static extern uint PowerSetActiveOverlayScheme(Guid OverlaySchemeGuid);
|
||||||
|
|
||||||
|
const string POWER_SILENT = "961cc777-2547-4f9d-8174-7d86181b8a7a";
|
||||||
|
const string POWER_BALANCED = "00000000-0000-0000-0000-000000000000";
|
||||||
|
const string POWER_TURBO = "ded574b5-45a0-4f42-8737-46345c09c238";
|
||||||
|
const string POWER_BETTERPERFORMANCE = "ded574b5-45a0-4f42-8737-46345c09c238";
|
||||||
|
|
||||||
|
static List<string> overlays = new() {
|
||||||
|
POWER_BALANCED,
|
||||||
|
POWER_TURBO,
|
||||||
|
POWER_SILENT,
|
||||||
|
POWER_BETTERPERFORMANCE
|
||||||
|
};
|
||||||
|
|
||||||
|
public static Dictionary<string, string> powerModes = new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{ POWER_SILENT, "Best Power Efficiency" },
|
||||||
|
{ POWER_BALANCED, "Balanced" },
|
||||||
|
{ POWER_TURBO, "Best Performance" },
|
||||||
|
};
|
||||||
static Guid GetActiveScheme()
|
static Guid GetActiveScheme()
|
||||||
{
|
{
|
||||||
IntPtr pActiveSchemeGuid;
|
IntPtr pActiveSchemeGuid;
|
||||||
@@ -122,51 +139,96 @@ namespace GHelper.Mode
|
|||||||
Logger.WriteLine("Boost " + boost);
|
Logger.WriteLine("Boost " + boost);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetPowerScheme(string scheme)
|
public static string GetPowerMode()
|
||||||
{
|
{
|
||||||
List<string> overlays = new() {
|
PowerGetEffectiveOverlayScheme(out Guid activeScheme);
|
||||||
"00000000-0000-0000-0000-000000000000",
|
return activeScheme.ToString();
|
||||||
"ded574b5-45a0-4f42-8737-46345c09c238",
|
}
|
||||||
"961cc777-2547-4f9d-8174-7d86181b8a7a",
|
|
||||||
"3af9B8d9-7c97-431d-ad78-34a8bfea439f"
|
public static void SetPowerMode(string scheme)
|
||||||
};
|
{
|
||||||
|
|
||||||
|
if (!overlays.Contains(scheme)) return;
|
||||||
|
|
||||||
Guid guidScheme = new Guid(scheme);
|
Guid guidScheme = new Guid(scheme);
|
||||||
|
|
||||||
if (overlays.Contains(scheme))
|
uint status = PowerGetEffectiveOverlayScheme(out Guid activeScheme);
|
||||||
|
|
||||||
|
if (GetBatterySaverStatus())
|
||||||
{
|
{
|
||||||
uint status = PowerGetEffectiveOverlayScheme(out Guid activeScheme);
|
Logger.WriteLine("Battery Saver detected");
|
||||||
if (status != 0 || activeScheme != guidScheme)
|
return;
|
||||||
{
|
|
||||||
PowerSetActiveOverlayScheme(guidScheme);
|
|
||||||
Logger.WriteLine("Power mode: " + scheme);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
PowerSetActiveScheme(IntPtr.Zero, guidScheme);
|
|
||||||
Logger.WriteLine("Power plan: " + scheme);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status != 0 || activeScheme != guidScheme)
|
||||||
|
{
|
||||||
|
status = PowerSetActiveOverlayScheme(guidScheme);
|
||||||
|
Logger.WriteLine("Power Mode " + scheme + ":" + (status == 0 ? "OK" : status));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetPowerScheme(int mode)
|
public static void SetBalancedPowerPlan()
|
||||||
|
{
|
||||||
|
Guid activeSchemeGuid = GetActiveScheme();
|
||||||
|
string balanced = "381b4222-f694-41f0-9685-ff5bb260df2e";
|
||||||
|
|
||||||
|
if (activeSchemeGuid.ToString() != balanced && !AppConfig.Is("skip_power_plan"))
|
||||||
|
{
|
||||||
|
SetPowerPlan(balanced);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void SetPowerPlan(string scheme)
|
||||||
|
{
|
||||||
|
// Skipping power modes
|
||||||
|
if (overlays.Contains(scheme)) return;
|
||||||
|
|
||||||
|
Guid guidScheme = new Guid(scheme);
|
||||||
|
uint status = PowerSetActiveScheme(IntPtr.Zero, guidScheme);
|
||||||
|
Logger.WriteLine("Power Plan " + scheme + ":" + (status == 0 ? "OK" : status));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string GetDefaultPowerMode(int mode)
|
||||||
{
|
{
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case 0: // balanced
|
|
||||||
SetPowerScheme("00000000-0000-0000-0000-000000000000");
|
|
||||||
break;
|
|
||||||
case 1: // turbo
|
case 1: // turbo
|
||||||
SetPowerScheme("ded574b5-45a0-4f42-8737-46345c09c238");
|
return POWER_TURBO;
|
||||||
break;
|
|
||||||
case 2: //silent
|
case 2: //silent
|
||||||
SetPowerScheme("961cc777-2547-4f9d-8174-7d86181b8a7a");
|
return POWER_SILENT;
|
||||||
break;
|
default: // balanced
|
||||||
|
return POWER_BALANCED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SetPowerMode(int mode)
|
||||||
|
{
|
||||||
|
SetPowerMode(GetDefaultPowerMode(mode));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int GetLidAction(bool ac)
|
||||||
|
{
|
||||||
|
Guid activeSchemeGuid = GetActiveScheme();
|
||||||
|
|
||||||
|
IntPtr activeIndex;
|
||||||
|
if (ac)
|
||||||
|
PowerReadACValueIndex(IntPtr.Zero,
|
||||||
|
activeSchemeGuid,
|
||||||
|
GUID_SYSTEM_BUTTON_SUBGROUP,
|
||||||
|
GUID_LIDACTION, out activeIndex);
|
||||||
|
|
||||||
|
else
|
||||||
|
PowerReadDCValueIndex(IntPtr.Zero,
|
||||||
|
activeSchemeGuid,
|
||||||
|
GUID_SYSTEM_BUTTON_SUBGROUP,
|
||||||
|
GUID_LIDACTION, out activeIndex);
|
||||||
|
|
||||||
|
|
||||||
|
return activeIndex.ToInt32();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void SetLidAction(int action, bool acOnly = false)
|
public static void SetLidAction(int action, bool acOnly = false)
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -201,5 +263,80 @@ namespace GHelper.Mode
|
|||||||
|
|
||||||
Logger.WriteLine("Changed Lid Action to " + action);
|
Logger.WriteLine("Changed Lid Action to " + action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int GetHibernateAfter()
|
||||||
|
{
|
||||||
|
Guid activeSchemeGuid = GetActiveScheme();
|
||||||
|
IntPtr seconds;
|
||||||
|
PowerReadDCValueIndex(IntPtr.Zero,
|
||||||
|
activeSchemeGuid,
|
||||||
|
GUID_SLEEP_SUBGROUP,
|
||||||
|
GUID_HIBERNATEIDLE, out seconds);
|
||||||
|
|
||||||
|
Logger.WriteLine("Hibernate after " + seconds);
|
||||||
|
return (seconds.ToInt32() / 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void SetHibernateAfter(int minutes)
|
||||||
|
{
|
||||||
|
int seconds = minutes * 60;
|
||||||
|
|
||||||
|
Guid activeSchemeGuid = GetActiveScheme();
|
||||||
|
var hrAC = PowerWriteDCValueIndex(
|
||||||
|
IntPtr.Zero,
|
||||||
|
activeSchemeGuid,
|
||||||
|
GUID_SLEEP_SUBGROUP,
|
||||||
|
GUID_HIBERNATEIDLE,
|
||||||
|
seconds);
|
||||||
|
|
||||||
|
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
|
||||||
|
|
||||||
|
Logger.WriteLine("Setting Hibernate after " + seconds + ": " + (hrAC == 0 ? "OK" : hrAC));
|
||||||
|
}
|
||||||
|
|
||||||
|
[DllImport("Kernel32")]
|
||||||
|
private static extern bool GetSystemPowerStatus(SystemPowerStatus sps);
|
||||||
|
public enum ACLineStatus : byte
|
||||||
|
{
|
||||||
|
Offline = 0, Online = 1, Unknown = 255
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum BatteryFlag : byte
|
||||||
|
{
|
||||||
|
High = 1,
|
||||||
|
Low = 2,
|
||||||
|
Critical = 4,
|
||||||
|
Charging = 8,
|
||||||
|
NoSystemBattery = 128,
|
||||||
|
Unknown = 255
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fields must mirror their unmanaged counterparts, in order
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public class SystemPowerStatus
|
||||||
|
{
|
||||||
|
public ACLineStatus ACLineStatus;
|
||||||
|
public BatteryFlag BatteryFlag;
|
||||||
|
public Byte BatteryLifePercent;
|
||||||
|
public Byte SystemStatusFlag;
|
||||||
|
public Int32 BatteryLifeTime;
|
||||||
|
public Int32 BatteryFullLifeTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool GetBatterySaverStatus()
|
||||||
|
{
|
||||||
|
SystemPowerStatus sps = new SystemPowerStatus();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
GetSystemPowerStatus(sps);
|
||||||
|
return (sps.SystemStatusFlag > 0);
|
||||||
|
} catch (Exception ex)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ public class NativeMethods
|
|||||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||||
private static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, uint dwMessageId, uint dwLanguageId, out string lpBuffer, uint nSize, IntPtr Arguments);
|
private static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, uint dwMessageId, uint dwLanguageId, out string lpBuffer, uint nSize, IntPtr Arguments);
|
||||||
|
|
||||||
public static void TurnOffScreen(IntPtr handle)
|
public static void TurnOffScreen()
|
||||||
{
|
{
|
||||||
IntPtr result = SendMessage(handle, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MONITOR_OFF);
|
IntPtr result = SendMessage(-1, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)MONITOR_OFF);
|
||||||
if (result == IntPtr.Zero)
|
if (result == IntPtr.Zero)
|
||||||
{
|
{
|
||||||
int error = Marshal.GetLastWin32Error();
|
int error = Marshal.GetLastWin32Error();
|
||||||
|
|||||||
32
app/Peripherals/IPeripheral.cs
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace GHelper.Peripherals
|
||||||
|
{
|
||||||
|
public enum PeripheralType
|
||||||
|
{
|
||||||
|
Mouse,
|
||||||
|
Keyboard
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IPeripheral
|
||||||
|
{
|
||||||
|
public bool IsDeviceReady { get; }
|
||||||
|
public bool Wireless { get; }
|
||||||
|
public int Battery { get; }
|
||||||
|
public bool Charging { get; }
|
||||||
|
|
||||||
|
public PeripheralType DeviceType();
|
||||||
|
|
||||||
|
public string GetDisplayName();
|
||||||
|
|
||||||
|
public bool HasBattery();
|
||||||
|
|
||||||
|
public void SynchronizeDevice();
|
||||||
|
|
||||||
|
public void ReadBattery();
|
||||||
|
}
|
||||||
|
}
|
||||||
1575
app/Peripherals/Mouse/AsusMouse.cs
Normal file
209
app/Peripherals/Mouse/Models/Chakram.cs
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
|
||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P704
|
||||||
|
public class Chakram : AsusMouse
|
||||||
|
{
|
||||||
|
public Chakram() : base(0x0B05, 0x18E5, "mi_00", true) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Chakram(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Chakram (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 16_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int LowBatteryWarningStep()
|
||||||
|
{
|
||||||
|
return 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int LowBatteryWarningMax()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int ParseBattery(byte[] packet)
|
||||||
|
{
|
||||||
|
return base.ParseBattery(packet) * 25;
|
||||||
|
}
|
||||||
|
protected override int ParseLowBatteryWarning(byte[] packet)
|
||||||
|
{
|
||||||
|
return base.ParseLowBatteryWarning(packet) * 25;
|
||||||
|
}
|
||||||
|
protected override byte[] GetUpdateEnergySettingsPacket(int lowBatteryWarning, PowerOffSetting powerOff)
|
||||||
|
{
|
||||||
|
return base.GetUpdateEnergySettingsPacket(lowBatteryWarning / 25, powerOff);
|
||||||
|
}
|
||||||
|
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
int offset = 5 + (((int)zone) * 5);
|
||||||
|
|
||||||
|
LightingSetting setting = new LightingSetting();
|
||||||
|
|
||||||
|
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||||
|
setting.Brightness = packet[offset + 1];
|
||||||
|
|
||||||
|
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||||
|
|
||||||
|
setting.AnimationDirection = SupportsAnimationDirection(setting.LightingMode)
|
||||||
|
? (AnimationDirection)packet[21]
|
||||||
|
: AnimationDirection.Clockwise;
|
||||||
|
|
||||||
|
if (setting.AnimationDirection != AnimationDirection.Clockwise
|
||||||
|
&& setting.AnimationDirection != AnimationDirection.CounterClockwise)
|
||||||
|
{
|
||||||
|
setting.AnimationDirection = AnimationDirection.Clockwise;
|
||||||
|
}
|
||||||
|
|
||||||
|
setting.RandomColor = SupportsRandomColor(setting.LightingMode) && packet[22] == 0x01;
|
||||||
|
setting.AnimationSpeed = SupportsAnimationSpeed(setting.LightingMode)
|
||||||
|
? (AnimationSpeed)packet[23]
|
||||||
|
: AnimationSpeed.Medium;
|
||||||
|
|
||||||
|
//If the mouse reports an out of range value, which it does when the current setting has no speed option, chose medium as default
|
||||||
|
if (setting.AnimationSpeed != AnimationSpeed.Fast
|
||||||
|
&& setting.AnimationSpeed != AnimationSpeed.Medium
|
||||||
|
&& setting.AnimationSpeed != AnimationSpeed.Slow)
|
||||||
|
{
|
||||||
|
setting.AnimationSpeed = AnimationSpeed.Medium;
|
||||||
|
}
|
||||||
|
return setting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReadLightingSetting()
|
||||||
|
{
|
||||||
|
if (!HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//Mouse sends all lighting zones in one response
|
||||||
|
//21: Direction
|
||||||
|
//22: Random
|
||||||
|
//23: Speed
|
||||||
|
// 20 21 22 23
|
||||||
|
//00 12 03 00 00 [03 04 00 00 ff] [03 04 00 00 ff] [03 04 00 00 ff] 00 04 00 00
|
||||||
|
//00 12 03 00 00 [05 02 ff 00 ff] [05 02 ff 00 ff] [05 02 ff 00 ff] 00 01 01 00
|
||||||
|
//00 12 03 00 00 [03 01 00 00 ff] [03 01 00 00 ff] [03 01 00 00 ff] 00 01 00 01
|
||||||
|
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||||
|
if (response is null) return;
|
||||||
|
|
||||||
|
LightingZone[] lz = SupportedLightingZones();
|
||||||
|
for (int i = 0; i < lz.Length; ++i)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||||
|
if (ls is null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||||
|
LightingSetting[i] = ls;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class ChakramWired : Chakram
|
||||||
|
{
|
||||||
|
public ChakramWired() : base(0x18E3, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Chakram (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
app/Peripherals/Mouse/Models/ChakramX.cs
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
|
||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
public class ChakramX : AsusMouse
|
||||||
|
{
|
||||||
|
public ChakramX() : base(0x0B05, 0x1A1A, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ChakramX(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Chakram X (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 36_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasXYDPI()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ChakramXWired : ChakramX
|
||||||
|
{
|
||||||
|
public ChakramXWired() : base(0x1A18, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Chakram X (Wired)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz,
|
||||||
|
PollingRate.PR2000Hz,
|
||||||
|
PollingRate.PR4000Hz,
|
||||||
|
PollingRate.PR8000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
91
app/Peripherals/Mouse/Models/GladiusIII.cs
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P706_Wireless
|
||||||
|
public class GladiusIII : AsusMouse
|
||||||
|
{
|
||||||
|
public GladiusIII() : base(0x0B05, 0x197F, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected GladiusIII(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Gladius III (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 26_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GladiusIIIWired : GladiusIII
|
||||||
|
{
|
||||||
|
public GladiusIIIWired() : base(0x197d, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Gladius III (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
106
app/Peripherals/Mouse/Models/GladiusIIIAimpoint.cs
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P711
|
||||||
|
public class GladiusIIIAimpoint : AsusMouse
|
||||||
|
{
|
||||||
|
public GladiusIIIAimpoint() : base(0x0B05, 0x1A70, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected GladiusIIIAimpoint(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Gladius III Aimpoint (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 36_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasXYDPI()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GladiusIIIAimpointWired : GladiusIIIAimpoint
|
||||||
|
{
|
||||||
|
public GladiusIIIAimpointWired() : base(0x1A72, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Gladius III Aimpoint (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
174
app/Peripherals/Mouse/Models/HarpeAceAimLab.cs
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P713_Wireless
|
||||||
|
public class HarpeAceAimLabEdition : AsusMouse
|
||||||
|
{
|
||||||
|
public HarpeAceAimLabEdition() : base(0x0B05, 0x1A94, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected HarpeAceAimLabEdition(ushort productId, bool wireless, string endpoint, byte reportId) : base(0x0B05, productId, endpoint, wireless, reportId)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Harpe Ace Aim Lab Edition (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 36_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MinDPI()
|
||||||
|
{
|
||||||
|
return 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasXYDPI()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Scrollwheel };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React
|
||||||
|
|| lightingMode == LightingMode.BatteryState
|
||||||
|
|| lightingMode == LightingMode.Off;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int AngleTuningStep()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int AngleTuningMin()
|
||||||
|
{
|
||||||
|
return -30;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int AngleTuningMax()
|
||||||
|
{
|
||||||
|
return 30;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAcceleration()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDeceleration()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxAcceleration()
|
||||||
|
{
|
||||||
|
return 9;
|
||||||
|
}
|
||||||
|
public override int MaxDeceleration()
|
||||||
|
{
|
||||||
|
return 9;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class HarpeAceAimLabEditionWired : HarpeAceAimLabEdition
|
||||||
|
{
|
||||||
|
public HarpeAceAimLabEditionWired() : base(0x1A92, false, "mi_00", 0x00)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Harpe Ace Aim Lab Edition (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class HarpeAceAimLabEditionOmni : HarpeAceAimLabEdition
|
||||||
|
{
|
||||||
|
public HarpeAceAimLabEditionOmni() : base(0x1ACE, true, "mi_02&col03", 0x03)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Harpe Ace Aim Lab Edition (OMNI)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int USBPacketSize()
|
||||||
|
{
|
||||||
|
return 64;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
115
app/Peripherals/Mouse/Models/KerisWirelssAimpoint.cs
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P709_Wireless
|
||||||
|
public class KerisWirelssAimpoint : AsusMouse
|
||||||
|
{
|
||||||
|
public KerisWirelssAimpoint() : base(0x0B05, 0x1A68, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected KerisWirelssAimpoint(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris Wireless Aimpoint (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 36_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasXYDPI()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.BatteryState
|
||||||
|
|| lightingMode == LightingMode.React;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class KerisWirelssAimpointWired : KerisWirelssAimpoint
|
||||||
|
{
|
||||||
|
public KerisWirelssAimpointWired() : base(0x1A66, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris Wireless Aimpoint (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
209
app/Peripherals/Mouse/Models/PugioII.cs
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
|
||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P705
|
||||||
|
public class PugioII : AsusMouse
|
||||||
|
{
|
||||||
|
public PugioII() : base(0x0B05, 0x1908, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected PugioII(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Pugio II (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 16_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int LowBatteryWarningStep()
|
||||||
|
{
|
||||||
|
return 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int LowBatteryWarningMax()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int ParseBattery(byte[] packet)
|
||||||
|
{
|
||||||
|
return base.ParseBattery(packet) * 25;
|
||||||
|
}
|
||||||
|
protected override int ParseLowBatteryWarning(byte[] packet)
|
||||||
|
{
|
||||||
|
return base.ParseLowBatteryWarning(packet) * 25;
|
||||||
|
}
|
||||||
|
protected override byte[] GetUpdateEnergySettingsPacket(int lowBatteryWarning, PowerOffSetting powerOff)
|
||||||
|
{
|
||||||
|
return base.GetUpdateEnergySettingsPacket(lowBatteryWarning / 25, powerOff);
|
||||||
|
}
|
||||||
|
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
int offset = 5 + (((int)zone) * 5);
|
||||||
|
|
||||||
|
LightingSetting setting = new LightingSetting();
|
||||||
|
|
||||||
|
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||||
|
setting.Brightness = packet[offset + 1];
|
||||||
|
|
||||||
|
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||||
|
|
||||||
|
setting.AnimationDirection = SupportsAnimationDirection(setting.LightingMode)
|
||||||
|
? (AnimationDirection)packet[21]
|
||||||
|
: AnimationDirection.Clockwise;
|
||||||
|
|
||||||
|
if (setting.AnimationDirection != AnimationDirection.Clockwise
|
||||||
|
&& setting.AnimationDirection != AnimationDirection.CounterClockwise)
|
||||||
|
{
|
||||||
|
setting.AnimationDirection = AnimationDirection.Clockwise;
|
||||||
|
}
|
||||||
|
|
||||||
|
setting.RandomColor = SupportsRandomColor(setting.LightingMode) && packet[22] == 0x01;
|
||||||
|
setting.AnimationSpeed = SupportsAnimationSpeed(setting.LightingMode)
|
||||||
|
? (AnimationSpeed)packet[23]
|
||||||
|
: AnimationSpeed.Medium;
|
||||||
|
|
||||||
|
//If the mouse reports an out of range value, which it does when the current setting has no speed option, chose medium as default
|
||||||
|
if (setting.AnimationSpeed != AnimationSpeed.Fast
|
||||||
|
&& setting.AnimationSpeed != AnimationSpeed.Medium
|
||||||
|
&& setting.AnimationSpeed != AnimationSpeed.Slow)
|
||||||
|
{
|
||||||
|
setting.AnimationSpeed = AnimationSpeed.Medium;
|
||||||
|
}
|
||||||
|
return setting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReadLightingSetting()
|
||||||
|
{
|
||||||
|
if (!HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//Mouse sends all lighting zones in one response
|
||||||
|
//21: Direction
|
||||||
|
//22: Random
|
||||||
|
//23: Speed
|
||||||
|
// 20 21 22 23
|
||||||
|
//00 12 03 00 00 [03 04 00 00 ff] [03 04 00 00 ff] [03 04 00 00 ff] 00 04 00 00
|
||||||
|
//00 12 03 00 00 [05 02 ff 00 ff] [05 02 ff 00 ff] [05 02 ff 00 ff] 00 01 01 00
|
||||||
|
//00 12 03 00 00 [03 01 00 00 ff] [03 01 00 00 ff] [03 01 00 00 ff] 00 01 00 01
|
||||||
|
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||||
|
if (response is null) return;
|
||||||
|
|
||||||
|
LightingZone[] lz = SupportedLightingZones();
|
||||||
|
for (int i = 0; i < lz.Length; ++i)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||||
|
if (ls is null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||||
|
LightingSetting[i] = ls;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class PugioIIWired : PugioII
|
||||||
|
{
|
||||||
|
public PugioIIWired() : base(0x1906, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Pugio II (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
197
app/Peripherals/Mouse/Models/ROGKerisWireless.cs
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P513
|
||||||
|
public class ROGKerisWireless : AsusMouse
|
||||||
|
{
|
||||||
|
public ROGKerisWireless() : base(0x0B05, 0x1960, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ROGKerisWireless(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 16_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React
|
||||||
|
|| lightingMode == LightingMode.BatteryState
|
||||||
|
|| lightingMode == LightingMode.Off;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Has 25% increments
|
||||||
|
protected override int ParseBattery(byte[] packet)
|
||||||
|
{
|
||||||
|
if (packet[1] == 0x12 && packet[2] == 0x07)
|
||||||
|
{
|
||||||
|
return packet[5] * 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateEnergySettingsPacket(int lowBatteryWarning, PowerOffSetting powerOff)
|
||||||
|
{
|
||||||
|
return base.GetUpdateEnergySettingsPacket(lowBatteryWarning / 25, powerOff);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int ParseLowBatteryWarning(byte[] packet)
|
||||||
|
{
|
||||||
|
int lowBat = base.ParseLowBatteryWarning(packet);
|
||||||
|
|
||||||
|
return lowBat * 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override LiftOffDistance ParseLiftOffDistance(byte[] packet)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x06)
|
||||||
|
{
|
||||||
|
return LiftOffDistance.Low;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (LiftOffDistance)packet[5];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateLiftOffDistancePacket(LiftOffDistance liftOffDistance)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x51, 0x35, 0x00, 0x00, ((byte)liftOffDistance) };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte IndexForLightingMode(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == LightingMode.Off)
|
||||||
|
{
|
||||||
|
return 0xFF;
|
||||||
|
}
|
||||||
|
return ((byte)lightingMode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ROGKerisWirelessWired : ROGKerisWireless
|
||||||
|
{
|
||||||
|
public ROGKerisWirelessWired() : base(0x195E, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ROGKerisWirelessEvaEdition : ROGKerisWireless
|
||||||
|
{
|
||||||
|
public ROGKerisWirelessEvaEdition() : base(0x1A59, true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris EVA Edition";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ROGKerisWirelessEvaEditionWired : ROGKerisWireless
|
||||||
|
{
|
||||||
|
public ROGKerisWirelessEvaEditionWired() : base(0x1A57, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Keris EVA Edition (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
177
app/Peripherals/Mouse/Models/StrixImpactII.cs
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P506
|
||||||
|
public class StrixImpactII : AsusMouse
|
||||||
|
{
|
||||||
|
public StrixImpactII() : base(0x0B05, 0x18E1, "mi_00", false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Strix Impact II";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 6_200;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasBattery()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel, LightingZone.Underglow };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte IndexForLightingMode(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == LightingMode.React)
|
||||||
|
{
|
||||||
|
return 0x03;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ((byte)lightingMode);
|
||||||
|
}
|
||||||
|
protected override LightingMode LightingModeForIndex(byte lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == 0x03)
|
||||||
|
{
|
||||||
|
return LightingMode.React;
|
||||||
|
}
|
||||||
|
return base.LightingModeForIndex(lightingMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
int offset = 5 + (((int)zone) * 5);
|
||||||
|
|
||||||
|
LightingSetting setting = new LightingSetting();
|
||||||
|
|
||||||
|
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||||
|
setting.Brightness = packet[offset + 1];
|
||||||
|
|
||||||
|
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||||
|
|
||||||
|
|
||||||
|
return setting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReadLightingSetting()
|
||||||
|
{
|
||||||
|
if (!HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//Mouse sends all lighting zones in one response
|
||||||
|
//00 12 03 00 00 [00 04 ff 00 80] [00 04 00 ff ff] [00 04 ff ff ff] 00 00 00 00 00 00 00 00 00 00 00 00 00 0
|
||||||
|
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||||
|
if (response is null) return;
|
||||||
|
|
||||||
|
LightingZone[] lz = SupportedLightingZones();
|
||||||
|
for (int i = 0; i < lz.Length; ++i)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||||
|
if (ls is null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||||
|
LightingSetting[i] = ls;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
226
app/Peripherals/Mouse/Models/StrixImpactIIWireless.cs
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P513
|
||||||
|
public class StrixImpactIIWireless : AsusMouse
|
||||||
|
{
|
||||||
|
public StrixImpactIIWireless() : base(0x0B05, 0x1949, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected StrixImpactIIWireless(ushort vendorId, bool wireless) : base(0x0B05, vendorId, "mi_00", wireless)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Strix Impact II (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 16_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React
|
||||||
|
|| lightingMode == LightingMode.BatteryState
|
||||||
|
|| lightingMode == LightingMode.Off;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo, LightingZone.Scrollwheel };
|
||||||
|
}
|
||||||
|
|
||||||
|
//Has 25% increments
|
||||||
|
protected override int ParseBattery(byte[] packet)
|
||||||
|
{
|
||||||
|
if (packet[1] == 0x12 && packet[2] == 0x07)
|
||||||
|
{
|
||||||
|
return packet[5] * 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateEnergySettingsPacket(int lowBatteryWarning, PowerOffSetting powerOff)
|
||||||
|
{
|
||||||
|
return base.GetUpdateEnergySettingsPacket(lowBatteryWarning / 25, powerOff);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int ParseLowBatteryWarning(byte[] packet)
|
||||||
|
{
|
||||||
|
int lowBat = base.ParseLowBatteryWarning(packet);
|
||||||
|
|
||||||
|
return lowBat * 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override LiftOffDistance ParseLiftOffDistance(byte[] packet)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x06)
|
||||||
|
{
|
||||||
|
return LiftOffDistance.Low;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (LiftOffDistance)packet[5];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateLiftOffDistancePacket(LiftOffDistance liftOffDistance)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x51, 0x35, 0x00, 0x00, ((byte)liftOffDistance) };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte IndexForLightingMode(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == LightingMode.Off)
|
||||||
|
{
|
||||||
|
return 0xFF;
|
||||||
|
}
|
||||||
|
return ((byte)lightingMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetReadLightingModePacket(LightingZone zone)
|
||||||
|
{
|
||||||
|
return new byte[] { 0x00, 0x12, 0x03, 0x00 };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected LightingSetting? ParseLightingSetting(byte[] packet, LightingZone zone)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x03)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
int offset = 5 + (((int)zone) * 5);
|
||||||
|
|
||||||
|
LightingSetting setting = new LightingSetting();
|
||||||
|
|
||||||
|
setting.LightingMode = LightingModeForIndex(packet[offset + 0]);
|
||||||
|
setting.Brightness = packet[offset + 1];
|
||||||
|
|
||||||
|
setting.RGBColor = Color.FromArgb(packet[offset + 2], packet[offset + 3], packet[offset + 4]);
|
||||||
|
|
||||||
|
|
||||||
|
return setting;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ReadLightingSetting()
|
||||||
|
{
|
||||||
|
if (!HasRGB())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//Mouse sends all lighting zones in one response
|
||||||
|
//00 12 03 00 00 [00 04 ff 00 80] [00 04 00 ff ff] [00 04 ff ff ff] 00 00 00 00 00 00 00 00 00 00 00 00 00 0
|
||||||
|
//No idea what the 3rd zone is as the mouse only has 2
|
||||||
|
byte[]? response = WriteForResponse(GetReadLightingModePacket(LightingZone.All));
|
||||||
|
if (response is null) return;
|
||||||
|
|
||||||
|
LightingZone[] lz = SupportedLightingZones();
|
||||||
|
for (int i = 0; i < lz.Length; ++i)
|
||||||
|
{
|
||||||
|
LightingSetting? ls = ParseLightingSetting(response, lz[i]);
|
||||||
|
if (ls is null)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Failed to read RGB Setting for Zone " + lz[i].ToString());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine(GetDisplayName() + ": Read RGB Setting for Zone " + lz[i].ToString() + ": " + ls.ToString());
|
||||||
|
LightingSetting[i] = ls;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class StrixImpactIIWirelessWired : StrixImpactIIWireless
|
||||||
|
{
|
||||||
|
public StrixImpactIIWirelessWired() : base(0x1947, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "ROG Strix Impact II (Wired)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
112
app/Peripherals/Mouse/Models/TUFM3.cs
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P306_Wireless
|
||||||
|
public class TUFM3 : AsusMouse
|
||||||
|
{
|
||||||
|
public TUFM3() : base(0x0B05, 0x1910, "mi_01", false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "TUF GAMING M3";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//Mouse has React mapped to 0x03 instead of 0x04 like other mice
|
||||||
|
protected override byte IndexForLightingMode(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == LightingMode.React)
|
||||||
|
{
|
||||||
|
return 0x03;
|
||||||
|
}
|
||||||
|
return ((byte)lightingMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Mouse has React mapped to 0x03 instead of 0x04 like other mice
|
||||||
|
protected override LightingMode LightingModeForIndex(byte lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == 0x03)
|
||||||
|
{
|
||||||
|
return LightingMode.React;
|
||||||
|
}
|
||||||
|
return base.LightingModeForIndex(lightingMode);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 7_000;
|
||||||
|
}
|
||||||
|
public override bool HasBattery()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
85
app/Peripherals/Mouse/Models/TUFM4Wireless.cs
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P306_Wireless
|
||||||
|
public class TUFM4Wirelss : AsusMouse
|
||||||
|
{
|
||||||
|
public TUFM4Wirelss() : base(0x0B05, 0x19F4, "mi_00", true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "TUF GAMING M4 (Wireless)";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 12_000;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAutoPowerOff()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleTuning()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLowBatteryWarning()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDPIColors()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
170
app/Peripherals/Mouse/Models/TUFM5.cs
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
namespace GHelper.Peripherals.Mouse.Models
|
||||||
|
{
|
||||||
|
//P304
|
||||||
|
public class TUFM5 : AsusMouse
|
||||||
|
{
|
||||||
|
public TUFM5() : base(0x0B05, 0x1898, "mi_02", false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIProfileCount()
|
||||||
|
{
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetDisplayName()
|
||||||
|
{
|
||||||
|
return "TUF GAMING M5";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public override PollingRate[] SupportedPollingrates()
|
||||||
|
{
|
||||||
|
return new PollingRate[] {
|
||||||
|
PollingRate.PR125Hz,
|
||||||
|
PollingRate.PR250Hz,
|
||||||
|
PollingRate.PR500Hz,
|
||||||
|
PollingRate.PR1000Hz
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//Mouse has React mapped to 0x03 instead of 0x04 like other mice
|
||||||
|
protected override byte IndexForLightingMode(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == LightingMode.React)
|
||||||
|
{
|
||||||
|
return 0x03;
|
||||||
|
}
|
||||||
|
return ((byte)lightingMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Mouse has React mapped to 0x03 instead of 0x04 like other mice
|
||||||
|
protected override LightingMode LightingModeForIndex(byte lightingMode)
|
||||||
|
{
|
||||||
|
if (lightingMode == 0x03)
|
||||||
|
{
|
||||||
|
return LightingMode.React;
|
||||||
|
}
|
||||||
|
return base.LightingModeForIndex(lightingMode);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int ProfileCount()
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
public override int MaxDPI()
|
||||||
|
{
|
||||||
|
return 6_200;
|
||||||
|
}
|
||||||
|
public override bool HasBattery()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasLiftOffSetting()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public override LightingZone[] SupportedLightingZones()
|
||||||
|
{
|
||||||
|
return new LightingZone[] { LightingZone.Logo };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasRGB()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasAngleSnapping()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int DPIIncrements()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanChangeDPIProfile()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool HasDebounceSetting()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override int MaxBrightness()
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsLightingModeSupported(LightingMode lightingMode)
|
||||||
|
{
|
||||||
|
return lightingMode == LightingMode.Static
|
||||||
|
|| lightingMode == LightingMode.Breathing
|
||||||
|
|| lightingMode == LightingMode.ColorCycle
|
||||||
|
|| lightingMode == LightingMode.React;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected override byte[] GetUpdatePollingRatePacket(PollingRate pollingRate)
|
||||||
|
{
|
||||||
|
return new byte[] { reportId, 0x51, 0x31, 0x02, 0x00, (byte)pollingRate };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateAngleSnappingPacket(bool angleSnapping)
|
||||||
|
{
|
||||||
|
return new byte[] { reportId, 0x51, 0x31, 0x04, 0x00, (byte)(angleSnapping ? 0x01 : 0x00) };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override PollingRate ParsePollingRate(byte[] packet)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||||
|
{
|
||||||
|
return (PollingRate)packet[9];
|
||||||
|
}
|
||||||
|
|
||||||
|
return PollingRate.PR125Hz;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override bool ParseAngleSnapping(byte[] packet)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (packet[1] == 0x12 && packet[2] == 0x04 && packet[3] == 0x00)
|
||||||
|
{
|
||||||
|
return packet[13] == 0x01;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override byte[] GetUpdateDebouncePacket(DebounceTime debounce)
|
||||||
|
{
|
||||||
|
return new byte[] { reportId, 0x51, 0x31, 0x03, 0x00, ((byte)debounce) };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override DebounceTime ParseDebounce(byte[] packet)
|
||||||
|
{
|
||||||
|
if (packet[1] != 0x12 || packet[2] != 0x04 || packet[3] != 0x00)
|
||||||
|
{
|
||||||
|
return DebounceTime.MS12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (packet[11] < 0x02)
|
||||||
|
{
|
||||||
|
return DebounceTime.MS12;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (packet[11] > 0x07)
|
||||||
|
{
|
||||||
|
return DebounceTime.MS32;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (DebounceTime)packet[11];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
244
app/Peripherals/PeripheralsProvider.cs
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
using GHelper.Peripherals.Mouse;
|
||||||
|
using GHelper.Peripherals.Mouse.Models;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
|
namespace GHelper.Peripherals
|
||||||
|
{
|
||||||
|
public class PeripheralsProvider
|
||||||
|
{
|
||||||
|
private static readonly object _LOCK = new object();
|
||||||
|
|
||||||
|
public static List<AsusMouse> ConnectedMice = new List<AsusMouse>();
|
||||||
|
|
||||||
|
public static event EventHandler? DeviceChanged;
|
||||||
|
|
||||||
|
private static System.Timers.Timer timer = new System.Timers.Timer(1000);
|
||||||
|
|
||||||
|
static PeripheralsProvider()
|
||||||
|
{
|
||||||
|
timer.Elapsed += DeviceTimer_Elapsed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static long lastRefresh;
|
||||||
|
|
||||||
|
public static bool IsMouseConnected()
|
||||||
|
{
|
||||||
|
lock (_LOCK)
|
||||||
|
{
|
||||||
|
return ConnectedMice.Count > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsDeviceConnected(IPeripheral peripheral)
|
||||||
|
{
|
||||||
|
return AllPeripherals().Contains(peripheral);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Expand if keyboards or other device get supported later.
|
||||||
|
public static bool IsAnyPeripheralConnect()
|
||||||
|
{
|
||||||
|
return IsMouseConnected();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<IPeripheral> AllPeripherals()
|
||||||
|
{
|
||||||
|
List<IPeripheral> l = new List<IPeripheral>();
|
||||||
|
lock (_LOCK)
|
||||||
|
{
|
||||||
|
l.AddRange(ConnectedMice);
|
||||||
|
}
|
||||||
|
return l;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RefreshBatteryForAllDevices()
|
||||||
|
{
|
||||||
|
RefreshBatteryForAllDevices(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RefreshBatteryForAllDevices(bool force)
|
||||||
|
{
|
||||||
|
//Polling the battery every 20s should be enough
|
||||||
|
if (!force && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastRefresh) < 20_000) return;
|
||||||
|
lastRefresh = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
|
|
||||||
|
List<IPeripheral> l = AllPeripherals();
|
||||||
|
|
||||||
|
foreach (IPeripheral m in l)
|
||||||
|
{
|
||||||
|
if (!m.IsDeviceReady)
|
||||||
|
{
|
||||||
|
//Try to sync the device if that hasn't been done yet
|
||||||
|
m.SynchronizeDevice();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m.ReadBattery();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Disconnect(AsusMouse am)
|
||||||
|
{
|
||||||
|
lock (_LOCK)
|
||||||
|
{
|
||||||
|
am.Disconnect -= Mouse_Disconnect;
|
||||||
|
am.MouseReadyChanged -= MouseReadyChanged;
|
||||||
|
am.BatteryUpdated -= BatteryUpdated;
|
||||||
|
ConnectedMice.Remove(am);
|
||||||
|
}
|
||||||
|
if (DeviceChanged is not null)
|
||||||
|
{
|
||||||
|
DeviceChanged(am, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Connect(AsusMouse am)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (IsDeviceConnected(am))
|
||||||
|
{
|
||||||
|
//Mouse already connected;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
am.Connect();
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
Logger.WriteLine(am.GetDisplayName() + " failed to connect to device: " + e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//The Mouse might needs a few ms to register all its subdevices or the sync will fail.
|
||||||
|
//Retry 3 times. Do not call this on main thread! It would block the UI
|
||||||
|
|
||||||
|
int tries = 0;
|
||||||
|
while (!am.IsDeviceReady && tries < 3)
|
||||||
|
{
|
||||||
|
Thread.Sleep(250);
|
||||||
|
Logger.WriteLine(am.GetDisplayName() + " synchronising. Try " + (tries + 1));
|
||||||
|
am.SynchronizeDevice();
|
||||||
|
++tries;
|
||||||
|
}
|
||||||
|
|
||||||
|
lock (_LOCK)
|
||||||
|
{
|
||||||
|
ConnectedMice.Add(am);
|
||||||
|
}
|
||||||
|
Logger.WriteLine(am.GetDisplayName() + " added to the list: " + ConnectedMice.Count + " device are conneted.");
|
||||||
|
|
||||||
|
|
||||||
|
am.Disconnect += Mouse_Disconnect;
|
||||||
|
am.MouseReadyChanged += MouseReadyChanged;
|
||||||
|
am.BatteryUpdated += BatteryUpdated;
|
||||||
|
if (DeviceChanged is not null)
|
||||||
|
{
|
||||||
|
DeviceChanged(am, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
UpdateSettingsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void BatteryUpdated(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateSettingsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void MouseReadyChanged(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateSettingsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Mouse_Disconnect(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (sender is null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AsusMouse am = (AsusMouse)sender;
|
||||||
|
lock (_LOCK)
|
||||||
|
{
|
||||||
|
ConnectedMice.Remove(am);
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine(am.GetDisplayName() + " reported disconnect. " + ConnectedMice.Count + " device are conneted.");
|
||||||
|
am.Dispose();
|
||||||
|
|
||||||
|
UpdateSettingsView();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void UpdateSettingsView()
|
||||||
|
{
|
||||||
|
Program.settingsForm.Invoke(delegate
|
||||||
|
{
|
||||||
|
Program.settingsForm.VisualizePeripherals();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
[MethodImpl(MethodImplOptions.Synchronized)]
|
||||||
|
public static void DetectAllAsusMice()
|
||||||
|
{
|
||||||
|
//Add one line for every supported mouse class here to support them.
|
||||||
|
DetectMouse(new ChakramX());
|
||||||
|
DetectMouse(new ChakramXWired());
|
||||||
|
DetectMouse(new GladiusIIIAimpoint());
|
||||||
|
DetectMouse(new GladiusIIIAimpointWired());
|
||||||
|
DetectMouse(new ROGKerisWireless());
|
||||||
|
DetectMouse(new ROGKerisWirelessWired());
|
||||||
|
DetectMouse(new ROGKerisWirelessEvaEdition());
|
||||||
|
DetectMouse(new ROGKerisWirelessEvaEditionWired());
|
||||||
|
DetectMouse(new TUFM4Wirelss());
|
||||||
|
DetectMouse(new StrixImpactIIWireless());
|
||||||
|
DetectMouse(new StrixImpactIIWirelessWired());
|
||||||
|
DetectMouse(new GladiusIII());
|
||||||
|
DetectMouse(new GladiusIIIWired());
|
||||||
|
DetectMouse(new HarpeAceAimLabEdition());
|
||||||
|
DetectMouse(new HarpeAceAimLabEditionWired());
|
||||||
|
DetectMouse(new HarpeAceAimLabEditionOmni());
|
||||||
|
DetectMouse(new TUFM3());
|
||||||
|
DetectMouse(new TUFM5());
|
||||||
|
DetectMouse(new KerisWirelssAimpoint());
|
||||||
|
DetectMouse(new KerisWirelssAimpointWired());
|
||||||
|
DetectMouse(new PugioII());
|
||||||
|
DetectMouse(new PugioIIWired());
|
||||||
|
DetectMouse(new StrixImpactII());
|
||||||
|
DetectMouse(new Chakram());
|
||||||
|
DetectMouse(new ChakramWired());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DetectMouse(AsusMouse am)
|
||||||
|
{
|
||||||
|
if (am.IsDeviceConnected() && !IsDeviceConnected(am))
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Detected a new" + am.GetDisplayName() + " . Connecting...");
|
||||||
|
Connect(am);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void RegisterForDeviceEvents()
|
||||||
|
{
|
||||||
|
HidSharp.DeviceList.Local.Changed += Device_Changed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UnregisterForDeviceEvents()
|
||||||
|
{
|
||||||
|
HidSharp.DeviceList.Local.Changed -= Device_Changed;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Device_Changed(object? sender, HidSharp.DeviceListChangedEventArgs e)
|
||||||
|
{
|
||||||
|
timer.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void DeviceTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
timer.Stop();
|
||||||
|
Logger.WriteLine("HID Device Event: Checking for new ASUS Mice");
|
||||||
|
DetectAllAsusMice();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ using GHelper.Gpu;
|
|||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using GHelper.Input;
|
using GHelper.Input;
|
||||||
using GHelper.Mode;
|
using GHelper.Mode;
|
||||||
|
using GHelper.Peripherals;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using Ryzen;
|
using Ryzen;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -28,9 +29,9 @@ namespace GHelper
|
|||||||
public static SettingsForm settingsForm = new SettingsForm();
|
public static SettingsForm settingsForm = new SettingsForm();
|
||||||
|
|
||||||
public static ModeControl modeControl = new ModeControl();
|
public static ModeControl modeControl = new ModeControl();
|
||||||
static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
|
public static GPUModeControl gpuControl = new GPUModeControl(settingsForm);
|
||||||
static ScreenControl screenControl = new ScreenControl();
|
public static ScreenControl screenControl = new ScreenControl();
|
||||||
static ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
public static ClamshellModeControl clamshellControl = new ClamshellModeControl();
|
||||||
|
|
||||||
public static ToastForm toast = new ToastForm();
|
public static ToastForm toast = new ToastForm();
|
||||||
|
|
||||||
@@ -94,12 +95,17 @@ namespace GHelper
|
|||||||
settingsForm.InitAura();
|
settingsForm.InitAura();
|
||||||
settingsForm.InitMatrix();
|
settingsForm.InitMatrix();
|
||||||
|
|
||||||
|
gpuControl.InitXGM();
|
||||||
|
|
||||||
SetAutoModes();
|
SetAutoModes(init : true);
|
||||||
|
|
||||||
// Subscribing for system power change events
|
// Subscribing for system power change events
|
||||||
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
|
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
|
||||||
SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged;
|
SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged;
|
||||||
|
|
||||||
|
SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
|
||||||
|
SystemEvents.SessionEnding += SystemEvents_SessionEnding;
|
||||||
|
|
||||||
clamshellControl.RegisterDisplayEvents();
|
clamshellControl.RegisterDisplayEvents();
|
||||||
clamshellControl.ToggleLidAction();
|
clamshellControl.ToggleLidAction();
|
||||||
|
|
||||||
@@ -108,16 +114,32 @@ namespace GHelper
|
|||||||
unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(settingsForm.Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE);
|
unRegPowerNotify = NativeMethods.RegisterPowerSettingNotification(settingsForm.Handle, settingGuid.ConsoleDisplayState, NativeMethods.DEVICE_NOTIFY_WINDOW_HANDLE);
|
||||||
|
|
||||||
|
|
||||||
|
Task task = Task.Run((Action)PeripheralsProvider.DetectAllAsusMice);
|
||||||
|
PeripheralsProvider.RegisterForDeviceEvents();
|
||||||
|
|
||||||
if (Environment.CurrentDirectory.Trim('\\') == Application.StartupPath.Trim('\\') || action.Length > 0)
|
if (Environment.CurrentDirectory.Trim('\\') == Application.StartupPath.Trim('\\') || action.Length > 0)
|
||||||
{
|
{
|
||||||
SettingsToggle(action);
|
SettingsToggle(action, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Application.Run();
|
Application.Run();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
|
||||||
|
{
|
||||||
|
gpuControl.StandardModeFix();
|
||||||
|
BatteryControl.AutoBattery();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Reason == SessionSwitchReason.SessionLogon || e.Reason == SessionSwitchReason.SessionUnlock)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Session:" + e.Reason.ToString());
|
||||||
|
screenControl.AutoScreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
|
static void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -134,22 +156,24 @@ namespace GHelper
|
|||||||
lastTheme = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
lastTheme = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settingsForm.fans is not null && settingsForm.fans.Text != "")
|
if (settingsForm.fansForm is not null && settingsForm.fansForm.Text != "")
|
||||||
settingsForm.fans.InitTheme();
|
settingsForm.fansForm.InitTheme();
|
||||||
|
|
||||||
if (settingsForm.keyb is not null && settingsForm.keyb.Text != "")
|
if (settingsForm.extraForm is not null && settingsForm.extraForm.Text != "")
|
||||||
settingsForm.keyb.InitTheme();
|
settingsForm.extraForm.InitTheme();
|
||||||
|
|
||||||
if (settingsForm.updates is not null && settingsForm.updates.Text != "")
|
if (settingsForm.updatesForm is not null && settingsForm.updatesForm.Text != "")
|
||||||
settingsForm.updates.InitTheme();
|
settingsForm.updatesForm.InitTheme();
|
||||||
|
|
||||||
|
if (settingsForm.matrixForm is not null && settingsForm.matrixForm.Text != "")
|
||||||
|
settingsForm.matrixForm.InitTheme();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void SetAutoModes(bool powerChanged = false)
|
public static void SetAutoModes(bool powerChanged = false, bool init = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
if (Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastAuto) < 3000) return;
|
||||||
@@ -170,24 +194,40 @@ namespace GHelper
|
|||||||
screenControl.AutoScreen();
|
screenControl.AutoScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
BatteryControl.SetBatteryChargeLimit();
|
BatteryControl.AutoBattery(init);
|
||||||
|
|
||||||
settingsForm.AutoKeyboard();
|
settingsForm.AutoKeyboard();
|
||||||
settingsForm.matrix.SetMatrix();
|
settingsForm.matrixControl.SetMatrix(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
private static void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (e.Mode == PowerModes.Suspend)
|
||||||
|
{
|
||||||
|
Logger.WriteLine("Power Mode Changed:" + e.Mode.ToString());
|
||||||
|
gpuControl.StandardModeFix();
|
||||||
|
}
|
||||||
|
|
||||||
if (SystemInformation.PowerStatus.PowerLineStatus == isPlugged) return;
|
if (SystemInformation.PowerStatus.PowerLineStatus == isPlugged) return;
|
||||||
Logger.WriteLine("Power Mode Changed");
|
|
||||||
SetAutoModes(true);
|
SetAutoModes(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SettingsToggle(string action = "", bool checkForFocus = true, bool trayClick = false)
|
||||||
|
|
||||||
public static void SettingsToggle(string action = "")
|
|
||||||
{
|
{
|
||||||
if (settingsForm.Visible) settingsForm.HideAll();
|
if (settingsForm.Visible)
|
||||||
|
{
|
||||||
|
// If helper window is not on top, this just focuses on the app again
|
||||||
|
// Pressing the ghelper button again will hide the app
|
||||||
|
if (checkForFocus && !settingsForm.HasAnyFocus(trayClick))
|
||||||
|
{
|
||||||
|
settingsForm.ShowAll();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
settingsForm.HideAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -216,15 +256,18 @@ namespace GHelper
|
|||||||
gpuControl.RestartGPU(false);
|
gpuControl.RestartGPU(false);
|
||||||
break;
|
break;
|
||||||
case "services":
|
case "services":
|
||||||
settingsForm.keyb = new Extra();
|
settingsForm.extraForm = new Extra();
|
||||||
settingsForm.keyb.Show();
|
settingsForm.extraForm.Show();
|
||||||
settingsForm.keyb.ServiesToggle();
|
settingsForm.extraForm.ServiesToggle();
|
||||||
break;
|
break;
|
||||||
case "uv":
|
case "uv":
|
||||||
Startup.ReScheduleAdmin();
|
Startup.ReScheduleAdmin();
|
||||||
settingsForm.FansToggle(2);
|
settingsForm.FansToggle(2);
|
||||||
modeControl.SetRyzen();
|
modeControl.SetRyzen();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
Startup.StartupCheck();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -232,7 +275,7 @@ namespace GHelper
|
|||||||
static void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
|
static void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Button == MouseButtons.Left)
|
if (e.Button == MouseButtons.Left)
|
||||||
SettingsToggle();
|
SettingsToggle(trayClick: true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,6 +284,7 @@ namespace GHelper
|
|||||||
static void OnExit(object sender, EventArgs e)
|
static void OnExit(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
trayIcon.Visible = false;
|
trayIcon.Visible = false;
|
||||||
|
PeripheralsProvider.UnregisterForDeviceEvents();
|
||||||
clamshellControl.UnregisterDisplayEvents();
|
clamshellControl.UnregisterDisplayEvents();
|
||||||
NativeMethods.UnregisterPowerSettingNotification(unRegPowerNotify);
|
NativeMethods.UnregisterPowerSettingNotification(unRegPowerNotify);
|
||||||
Application.Exit();
|
Application.Exit();
|
||||||
@@ -248,5 +292,4 @@ namespace GHelper
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
120
app/Properties/Resources.Designer.cs
generated
@@ -140,6 +140,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_batterie_voll_geladen_48 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_batterie_voll_geladen_48", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -260,6 +270,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_hibernate_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-hibernate-32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -280,6 +300,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_ladende_batterie_48 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_ladende_batterie_48", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -320,6 +350,36 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_maus_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_maus_32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_maus_48 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_maus_48", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_mauszeiger_50 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8_mauszeiger_50", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -360,6 +420,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_quit_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-quit-32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -440,6 +510,16 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap icons8_software_32_white {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("icons8-software-32-white", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -500,6 +580,46 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap lighting_dot_24 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("lighting_dot_24", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap lighting_dot_32 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("lighting_dot_32", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap lighting_dot_48 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("lighting_dot_48", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Byte[].
|
||||||
|
/// </summary>
|
||||||
|
internal static byte[] MFont {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("MFont", resourceCulture);
|
||||||
|
return ((byte[])(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -118,45 +118,63 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="icons8-gauge-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-gauge-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="brightness_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\brightness-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8_temperature_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-temperature-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="backlight_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="backlight_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\backlight-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\backlight-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_mute_unmute_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-mute-unmute-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8-hibernate-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-hibernate-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-quit-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-quit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-fiat-500-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-fiat-500-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_microphone_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_microphone_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-microphone-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-microphone-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-project-management-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-project-management-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="lighting_dot_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\lighting_dot_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_touchpad_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-touchpad-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8-automation-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8_maus_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8-help-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-help-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-help-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-help-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8-software-32-white" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-software-32-white.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_add_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_add_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-add-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-add-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-game-controller-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-game-controller-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-game-controller-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-game-controller-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-matrix-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-matrix-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-refresh-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-refresh-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -169,26 +187,41 @@
|
|||||||
<data name="icons8_charged_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_charged_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-charged-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-charged-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="lighting_dot_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\lighting_dot_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-bicycle-48 (1)" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-bicycle-48 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="brightness_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\brightness-down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8_batterie_voll_geladen_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-batterie-voll-geladen-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_charging_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_charging_battery_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-charging-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-charging-battery-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="eco" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8-video-card-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-video-card-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="lighting_dot_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-rocket-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-rocket-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_edit_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_edit_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-edit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-edit-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="backlight_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\backlight-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-save-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-save-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-save-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -205,11 +238,29 @@
|
|||||||
<data name="icons8-fan-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-fan-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-fan-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="icons8_maus_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-maus-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_remove_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-remove-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_video_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_mauszeiger_50" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-video-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-matrix-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-matrix-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-keyboard-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-keyboard-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8_fan_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-fan-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8_software_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="icons8-gauge-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\icons8-gauge-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-leaf-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-leaf-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-leaf-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-leaf-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -217,8 +268,8 @@
|
|||||||
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="ultimate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-rocket-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-spa-flower-48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-rocket-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-spa-flower-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="backlight" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\backlight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@@ -226,34 +277,19 @@
|
|||||||
<data name="icons8-settings-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-settings-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-settings-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-keyboard-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-keyboard-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
|
||||||
<data name="icons8-automation-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-automation-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8-laptop-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-laptop-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8-video-card-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_ladende_batterie_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-video-card-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-ladende-batterie-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
|
||||||
<data name="icons8_fan_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-fan-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="icons8_processor_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-processor-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="icons8_rocket_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\icons8-rocket-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="icons8_software_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="MFont" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\icons8-software-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\Font.otf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
|
||||||
<data name="icons8_temperature_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-temperature-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="icons8_voltage_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\icons8-voltage-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
346
app/Properties/Strings.Designer.cs
generated
@@ -60,6 +60,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Acceleration.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Acceleration {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Acceleration", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface.
|
/// Looks up a localized string similar to Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -195,6 +204,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Battery State.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraBatteryState {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraBatteryState", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Breathe.
|
/// Looks up a localized string similar to Breathe.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -204,6 +222,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Clockwise.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraClockwise {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraClockwise", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Color Cycle.
|
/// Looks up a localized string similar to Color Cycle.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -213,6 +240,24 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Comet.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraComet {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraComet", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Counterclockwise.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraCounterClockwise {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraCounterClockwise", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Fast.
|
/// Looks up a localized string similar to Fast.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -222,6 +267,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Lighting Mode.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraLightingMode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraLightingMode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Normal.
|
/// Looks up a localized string similar to Normal.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -240,6 +294,24 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Random.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraRandomColor {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraRandomColor", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to React.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraReact {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraReact", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Slow.
|
/// Looks up a localized string similar to Slow.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -267,6 +339,51 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to All.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraZoneAll {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraZoneAll", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Dock.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraZoneDock {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraZoneDock", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Logo.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraZoneLogo {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraZoneLogo", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Scrollwheel.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraZoneScroll {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraZoneScroll", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Underglow.
|
||||||
|
/// </summary>
|
||||||
|
internal static string AuraZoneUnderglow {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AuraZoneUnderglow", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Auto Apply.
|
/// Looks up a localized string similar to Auto Apply.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -321,6 +438,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Charge.
|
||||||
|
/// </summary>
|
||||||
|
internal static string BatteryCharge {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BatteryCharge", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Battery Charge Limit.
|
/// Looks up a localized string similar to Battery Charge Limit.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -330,6 +456,24 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Battery Health.
|
||||||
|
/// </summary>
|
||||||
|
internal static string BatteryHealth {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BatteryHealth", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to One time charge to 100%.
|
||||||
|
/// </summary>
|
||||||
|
internal static string BatteryLimitFull {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BatteryLimitFull", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to BIOS and Driver Updates.
|
/// Looks up a localized string similar to BIOS and Driver Updates.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -348,6 +492,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Boot Sound.
|
||||||
|
/// </summary>
|
||||||
|
internal static string BootSound {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BootSound", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Brightness.
|
/// Looks up a localized string similar to Brightness.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -375,6 +528,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Calibrate.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Calibrate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Calibrate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Charging.
|
/// Looks up a localized string similar to Charging.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -411,6 +573,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Deceleration.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Deceleration {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Deceleration", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Default.
|
/// Looks up a localized string similar to Default.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -439,7 +610,7 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Download Update.
|
/// Looks up a localized string similar to Download.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string DownloadUpdate {
|
internal static string DownloadUpdate {
|
||||||
get {
|
get {
|
||||||
@@ -494,6 +665,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Energy Settings.
|
||||||
|
/// </summary>
|
||||||
|
internal static string EnergySettings {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("EnergySettings", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Extra.
|
/// Looks up a localized string similar to Extra.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -692,6 +872,24 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Minutes till Hibernation in sleep on battery (0 - OFF).
|
||||||
|
/// </summary>
|
||||||
|
internal static string HibernateAfter {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("HibernateAfter", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to High.
|
||||||
|
/// </summary>
|
||||||
|
internal static string High {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("High", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Key Bindings.
|
/// Looks up a localized string similar to Key Bindings.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -764,6 +962,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Lighting.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Lighting {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Lighting", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Logo.
|
/// Looks up a localized string similar to Logo.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -773,6 +980,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Low.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Low {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Low", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Audio Visualizer.
|
/// Looks up a localized string similar to Audio Visualizer.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -872,6 +1088,87 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Minute.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Minute {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Minute", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Minutes.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Minutes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Minutes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Angle Snapping.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseAngleSnapping {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseAngleSnapping", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Auto Power Off After.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseAutoPowerOff {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseAutoPowerOff", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Button Response.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseButtonResponse {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseButtonResponse", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Lift Off Distance.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseLiftOffDistance {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseLiftOffDistance", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Low Battery Warning at.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseLowBatteryWarning {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseLowBatteryWarning", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Performance.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MousePerformance {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MousePerformance", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Synchronize with mouse.
|
||||||
|
/// </summary>
|
||||||
|
internal static string MouseSynchronize {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("MouseSynchronize", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Multizone.
|
/// Looks up a localized string similar to Multizone.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -890,6 +1187,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Never.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Never {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Never", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to New updates.
|
/// Looks up a localized string similar to New updates.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -908,6 +1214,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Not Connected.
|
||||||
|
/// </summary>
|
||||||
|
internal static string NotConnected {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("NotConnected", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Open G-Helper window.
|
/// Looks up a localized string similar to Open G-Helper window.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -971,6 +1286,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Peripherals.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Peripherals {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Peripherals", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Picture / Gif.
|
/// Looks up a localized string similar to Picture / Gif.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -989,6 +1313,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Polling Rate.
|
||||||
|
/// </summary>
|
||||||
|
internal static string PollingRate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PollingRate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Power Limits.
|
/// Looks up a localized string similar to Power Limits.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1016,6 +1349,15 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Profile.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Profile {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Profile", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Quit.
|
/// Looks up a localized string similar to Quit.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1026,7 +1368,7 @@ namespace GHelper.Properties {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Something is using dGPU and preventing Eco mode. Restart dGPU in device manager? * Please proceed at your own risk..
|
/// Looks up a localized string similar to Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string RestartGPU {
|
internal static string RestartGPU {
|
||||||
get {
|
get {
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Beschleunigung</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
|
<value>Verbindung zu ASUS ACPI fehlgeschlagen. G-Helper kann nicht ausgeführt werden. Bitte installiere ASUS System Control Interface.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -127,13 +130,13 @@
|
|||||||
<value>Eco Modus</value>
|
<value>Eco Modus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOff" xml:space="preserve">
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
<value>Wechseln in den Ultimate Modus benötigt einen Neustart. Jetzt neustarten?</value>
|
<value>Deaktivieren des Ultimate Modus benötigt einen Neustart.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOn" xml:space="preserve">
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
<value>Ultimate Modus benötigt einen Neustart</value>
|
<value>Aktivieren des Ultimate Modus benötigt einen Neustart.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
<value>Jetzt neustarten?</value>
|
<value>Jetzt neu starten?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimationSpeed" xml:space="preserve">
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
<value>Animationsgeschwindigkeit</value>
|
<value>Animationsgeschwindigkeit</value>
|
||||||
@@ -148,13 +151,13 @@
|
|||||||
<value>G-Helper läuft bereits. Bitte prüfe den Systemtray.</value>
|
<value>G-Helper läuft bereits. Bitte prüfe den Systemtray.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Apply" xml:space="preserve">
|
<data name="Apply" xml:space="preserve">
|
||||||
<value>Apply</value>
|
<value>Anwenden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Lüfterkurve anweden</value>
|
<value>Lüfterkurve anwenden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>Leistunsgrenzen anwenden</value>
|
<value>Leistungsgrenzen anwenden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
<value>Windows Leistungsmodus automatisch anpassen</value>
|
<value>Windows Leistungsmodus automatisch anpassen</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>ASUS Dienste laufen</value>
|
<value>ASUS Dienste laufen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Batteriezustand</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Atmen</value>
|
<value>Atmen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Im Uhrzeigersinn</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Farbwechsel</value>
|
<value>Farbwechsel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Komet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Gegen den Uhrzeigersinn</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Schnell</value>
|
<value>Schnell</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Beleuchtungsmodus</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Regenbogen</value>
|
<value>Regenbogen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Zufällig</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reagierend</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Langsam</value>
|
<value>Langsam</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,14 +210,29 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Stroboskop</value>
|
<value>Stroboskop</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Alle</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Scrollrad</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Front</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Automatisch anwenden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoMode" xml:space="preserve">
|
<data name="AutoMode" xml:space="preserve">
|
||||||
<value>Auto</value>
|
<value>Auto</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz im Batteriebetrieb Maximal wenn eingesteckt.</value>
|
<value>60Hz im Batteriebetrieb. Maximal, wenn eingesteckt.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Im Betrieb</value>
|
<value>Im Betrieb</value>
|
||||||
@@ -204,47 +243,65 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Ausbalanciert</value>
|
<value>Ausbalanciert</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Akkustand</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Ladebegrenzung</value>
|
<value>Ladebegrenzung</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Batteriezustand</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Einmalig auf 100% aufladen</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS und Treiber Updates</value>
|
<value>BIOS und Treiber Updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Hochfahren</value>
|
<value>Hochfahren</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Helligkeit</value>
|
<value>Helligkeit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessDown" xml:space="preserve">
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
<value>Helligkeit erhöhen</value>
|
|
||||||
</data>
|
|
||||||
<data name="BrightnessUp" xml:space="preserve">
|
|
||||||
<value>Helligkeit verringern</value>
|
<value>Helligkeit verringern</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
|
<value>Helligkeit erhöhen</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibrieren</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Lädt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Farbe</value>
|
<value>Farbe</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU Boost</value>
|
<value>CPU-Boost</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Benutzerdefiniert</value>
|
<value>Benutzerdefiniert</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Verlangsamung</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Standard</value>
|
<value>Standard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Overdrive abschalten</value>
|
<value>Bildschirm: Overdrive abschalten</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Discharging" xml:space="preserve">
|
<data name="Discharging" xml:space="preserve">
|
||||||
<value>Entlädt</value>
|
<value>Entlädt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Updates herunterladen</value>
|
<value>Download</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Treiber und Software</value>
|
<value>Treiber und Software</value>
|
||||||
@@ -256,13 +313,16 @@
|
|||||||
<value>Eco</value>
|
<value>Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Wenn Sie die dGPU deaktivieren, indem Sie in den Eco Modus wechseln, kann zu Problemen mit der Helligkeitseinstellung führen, wenn der Anzeigemodus nicht auf Optimus eingestellt ist.
|
<value>Die dGPU zu deaktivieren, indem Sie in den Eco-Modus wechseln während der Anzeigemodus nicht auf Optimus eingestellt ist, kann zu Problemen mit der Helligkeitseinstellung führen.
|
||||||
|
|
||||||
Trotzdem fortfahren?</value>
|
Trotzdem fortfahren?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>Nvidia Anzeigemodus ist nicht auf Optimus eingestellt</value>
|
<value>Nvidia Anzeigemodus ist nicht auf Optimus eingestellt</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energieeinstellungen</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -291,7 +351,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Lüfter und Leistung</value>
|
<value>Lüfter und Leistung</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Fan</value>
|
<value>Lüfter</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Lüfter + Leistung</value>
|
<value>Lüfter + Leistung</value>
|
||||||
@@ -329,6 +389,12 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Maximale GPU Temperatur</value>
|
<value>Maximale GPU Temperatur</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minuten bis zum Ruhezustand im Standby (0 = Aus)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Hoch</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Tastenbelegung</value>
|
<value>Tastenbelegung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -339,7 +405,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Alle Anwendungen auf der dGPU beim Wechsel in den Eco Modus beenden.</value>
|
<value>Alle Anwendungen auf der dGPU beim Wechsel in den Eco Modus beenden.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Laptopbelechtung</value>
|
<value>Laptopbeleuchtung</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Laptoptastatur</value>
|
<value>Laptoptastatur</value>
|
||||||
@@ -353,14 +419,20 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Leuchtstreifen</value>
|
<value>Leuchtstreifen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Beleuchtung</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Niedrig</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualisierung</value>
|
<value>Audio Visualisierung</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Binary Banner</value>
|
<value>Binäres Banner</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBright" xml:space="preserve">
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
<value>Hell</value>
|
<value>Hell</value>
|
||||||
@@ -389,17 +461,50 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz um Strom zu sparen</value>
|
<value>60Hz um Strom zu sparen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minuten</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Mausglättung</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Automatisch abschalten nach</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Tastenreaktionsgeschwindigkeit</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Batteriewarnung bei</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Leistung</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Maus synchronisieren</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multi-Zone</value>
|
<value>Multi-Zone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mikrofon stummschalten</value>
|
<value>Mikrofon stummschalten</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Niemals</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Neue Updates:</value>
|
<value>Neue Updates:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Keine Updates verfügbar</value>
|
<value>Keine Updates</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Nicht verbunden</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>G-Helper Fenster öffnen</value>
|
<value>G-Helper Fenster öffnen</value>
|
||||||
@@ -408,10 +513,10 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Optimiert</value>
|
<value>Optimiert</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Eco Modus im Batteriebetrieb, Standard wenn eingesteckt.</value>
|
<value>Eco-Modus im Batteriebetrieb. Standard, wenn eingesteckt.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>GPU beim USB-C Laden im Optimierten Modus deaktiviert lassen</value>
|
<value>dGPU beim USB-C Laden im Optimierten Modus deaktiviert lassen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Sonstiges</value>
|
<value>Sonstiges</value>
|
||||||
@@ -422,12 +527,18 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Leistungsmodus</value>
|
<value>Leistungsmodus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Zubehör</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Bild / GIF</value>
|
<value>Bild / GIF</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Wiedergabe / Pause</value>
|
<value>Wiedergabe / Pause</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Abfragerate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Leistungsbegrenzung</value>
|
<value>Leistungsbegrenzung</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Trotzdem fortfahren?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Druck</value>
|
<value>Druck</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Schließen</value>
|
<value>Schließen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Ein Prozess verhindert den Wechsel in den Eco Modus. dGPU neustarten? Fortfahren auf eigene Gefahr.</value>
|
<value>Ein Prozess verhindert den Wechsel in den Eco-Modus. dGPU neu starten? Fortfahren auf eigene Gefahr.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>U/Min</value>
|
<value>U/Min</value>
|
||||||
@@ -450,10 +564,10 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Beim Start ausführen</value>
|
<value>Beim Start ausführen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Screenpad Helligkeit verringern</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Screenpad-Helligkeit erhöhen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Herunterfahren</value>
|
<value>Herunterfahren</value>
|
||||||
@@ -492,7 +606,7 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Aura umschalten</value>
|
<value>Aura umschalten</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Clamshell Modus automatisch aktivieren</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>FN Sperre umschalten</value>
|
<value>FN Sperre umschalten</value>
|
||||||
@@ -516,13 +630,13 @@ Trotzdem fortfahren?</value>
|
|||||||
<value>Verbindet den Bildschirm mit der dGPU für maximale Leistung.</value>
|
<value>Verbindet den Bildschirm mit der dGPU für maximale Leistung.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Ultimate</value>
|
<value>Ultimativ</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>Die Spannungsabsenkung (Undervolting) ist experimentell und birgt u.U. ein Risik. Wenn die Spannung zu weit abgesenkt wird, wird der Computer instabil und kann abstürzen, was zu Datenverlust führen kann. Es empfiehlt sich mit kleinen Werten anzufangen und es ausgiebig zu testen, um den idealen Wert zu finden.</value>
|
<value>Die Spannungsabsenkung (Undervolting) ist experimentell und birgt Risiken. Wenn die Spannung zu weit abgesenkt wird, wird der Computer instabil und kann abstürzen, was zu Datenverlust führen kann. Es empfiehlt sich mit kleinen Werten anzufangen und ausgiebig zu testen, um den idealen Wert zu finden.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Aktualisierungen</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Version</value>
|
<value>Version</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Aceleración</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>No se pudo conectar con ASUS ACPI. La aplicación no puede funcionar sin el recurso. Instale Asus System Control Interface</value>
|
<value>No se pudo conectar con ASUS ACPI. La aplicación no puede funcionar sin el recurso. Instale Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -139,7 +142,7 @@
|
|||||||
<value>Velocidad</value>
|
<value>Velocidad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimeMatrix" xml:space="preserve">
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
<value>Anime Matrix</value>
|
<value>AniMe Matrix</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
<value>La apliación ya está ejecutándose</value>
|
<value>La apliación ya está ejecutándose</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Servicios de Asus en ejecución</value>
|
<value>Servicios de Asus en ejecución</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Estado de la batería</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Respiración</value>
|
<value>Respiración</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Sentido horario</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Ciclo de color</value>
|
<value>Ciclo de color</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Cometa</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Sentido anti-horario</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Rápido</value>
|
<value>Rápido</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Modo de iluminación</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Arcoíris</value>
|
<value>Arcoíris</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Aleatorio</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Sensible</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Lento</value>
|
<value>Lento</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Estroboscópico</value>
|
<value>Estroboscópico</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Todo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Rueda de desplazamiento</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Autoaplicar</value>
|
<value>Autoaplicar</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -193,26 +232,38 @@
|
|||||||
<value>Automático</value>
|
<value>Automático</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
<value>Establece 60Hz con batería y vuelve cuando está enchufado</value>
|
<value>Establece 60Hz con batería y revierte cuando está enchufado</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Encendida</value>
|
<value>Encendida</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Tiempo de espera conectado / con batería (0 - ACT)</value>
|
<value>Tiempo de espera conectado / con batería (0 - ON)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Equilibrado</value>
|
<value>Equilibrado</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Carga</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Límite de carga</value>
|
<value>Límite de carga</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Salud de la batería</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Cargar una vez al 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>Actualizaciones de BIOS y Drivers</value>
|
<value>Actualizaciones de BIOS y Drivers</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Al arrancar</value>
|
<value>Al arrancar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Sonido al arranque</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Brillo</value>
|
<value>Brillo</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,8 +273,11 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Subir brillo</value>
|
<value>Subir brillo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrar</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Cargando</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Color</value>
|
<value>Color</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Personalizado</value>
|
<value>Personalizado</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Desaceleración</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Por defecto</value>
|
<value>Por defecto</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Descargando</value>
|
<value>Descargando</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Descargar actualización</value>
|
<value>Descargar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers y Software</value>
|
<value>Drivers y Software</value>
|
||||||
@@ -256,13 +313,16 @@
|
|||||||
<value>Eco</value>
|
<value>Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Deshabilitar la dGPU cambiando a modo Eco moentras el Modo de Pantalla en el Panel de Control de NVIDIA no está configurado en Optimus puede causar problemas con el control del brillo hasta después del próximo reinicio.
|
<value>Deshabilitar la dGPU cambiando a modo Eco mientras el Modo de Pantalla en el Panel de Control de NVIDIA no está configurado en Optimus puede causar problemas con el control del brillo hasta después del próximo reinicio.
|
||||||
|
|
||||||
¿Seguro que desea continuar?</value>
|
¿Seguro que desea continuar?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>Modo de Pantalla NVIDIA no está configurado en Optimus</value>
|
<value>Modo de Pantalla NVIDIA no está configurado en Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Ajustes de energía</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Adicional</value>
|
<value>Adicional</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperatura objetivo</value>
|
<value>Temperatura objetivo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutos hasta hibernación en suspensión con batería (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Alto</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Atajos de teclado</value>
|
<value>Atajos de teclado</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Barra de luz</value>
|
<value>Barra de luz</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Iluminación</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Bajo</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Visualizador de audio</value>
|
<value>Visualizador de audio</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,17 +461,50 @@
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Frecuencia de actualización de 60Hz para ahorrar batería</value>
|
<value>Frecuencia de actualización de 60Hz para ahorrar batería</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minuto</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutos</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Ajuste de ángulo</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto-apagar tras</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Respuesta del botón</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Distancia de despegue (LOD)</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Aviso de batería baja al</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Rendimiento</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Sincronizar con el ratón</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizona</value>
|
<value>Multizona</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Silenciar micrófono</value>
|
<value>Silenciar micrófono</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Nunca</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Nuevas actualizaciones</value>
|
<value>Nuevas actualizaciones</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No hay nuevas actualizaciones</value>
|
<value>No hay actualizaciones</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>No conectado</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Abrir ventana G-Helper</value>
|
<value>Abrir ventana G-Helper</value>
|
||||||
@@ -422,12 +527,18 @@
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Modo</value>
|
<value>Modo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Periféricos</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Imagen / Gif</value>
|
<value>Imagen / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Reproducir / Pausar</value>
|
<value>Reproducir / Pausar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Velocidad de respuesta</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Límites de energía</value>
|
<value>Límites de energía</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Capturar pantalla</value>
|
<value>Capturar pantalla</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Perfil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Quitar</value>
|
<value>Quitar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Algo está usando la dGPU e impide usar Modo Eco. ¿Reiniciar dGPU en administrador de dispositivos? * Proceda bajo su propio riesgo.</value>
|
<value>Algo está usando la dGPU e impide el modo Eco. ¿Reiniciar dGPU en el administrador de dispositivos? (Proceda bajo su propio riesgo)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
@@ -450,10 +564,10 @@
|
|||||||
<value>Ejecutar al inicio</value>
|
<value>Ejecutar al inicio</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Bajar brillo ScreenPad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Subir brillo ScreenPad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Al apagar</value>
|
<value>Al apagar</value>
|
||||||
@@ -477,7 +591,7 @@
|
|||||||
<value>Iniciando servicios</value>
|
<value>Iniciando servicios</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartupError" xml:space="preserve">
|
<data name="StartupError" xml:space="preserve">
|
||||||
<value>Error de inicio</value>
|
<value>Error al iniciar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Stop" xml:space="preserve">
|
<data name="Stop" xml:space="preserve">
|
||||||
<value>Detener</value>
|
<value>Detener</value>
|
||||||
@@ -492,13 +606,13 @@
|
|||||||
<value>Alternar Aura</value>
|
<value>Alternar Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Cambiar automáticamente a modo Clamshell</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Alternar Fn-Lock</value>
|
<value>Alternar Fn-Lock</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Alternar Miniled (si comp.)</value>
|
<value>Alternar Miniled (si compatible)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>Alternar pantalla</value>
|
<value>Alternar pantalla</value>
|
||||||
|
|||||||
@@ -117,8 +117,11 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Accélération</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface.</value>
|
<value>Connexion impossible avec ASUS ACPI. L'application ne peut fonctionner sans. Veuillez installer Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
|
<value>Le GPU semble être surchargé, voulez vous le désactiver ?</value>
|
||||||
@@ -148,7 +151,7 @@
|
|||||||
<value>G-Helper est déjà en cours d'exécution. Vérifiez la barre d'état système.</value>
|
<value>G-Helper est déjà en cours d'exécution. Vérifiez la barre d'état système.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Apply" xml:space="preserve">
|
<data name="Apply" xml:space="preserve">
|
||||||
<value>Apply</value>
|
<value>Appliquer</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Appliquer la courbe</value>
|
<value>Appliquer la courbe</value>
|
||||||
@@ -160,23 +163,44 @@
|
|||||||
<value>Ajustement auto des modes de gestion alim. Windows</value>
|
<value>Ajustement auto des modes de gestion alim. Windows</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus Services Running</value>
|
<value>Services Asus actifs</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>État de la batterie</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Pulsation</value>
|
<value>Pulsation</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Sens horaire</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Cycle de couleur</value>
|
<value>Cycle de couleur</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Comète</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Sens antihoraire</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Rapide</value>
|
<value>Rapide</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Mode d’Éclairage</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Arc-en-ciel</value>
|
<value>Arc-en-ciel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Aléatoire</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>React</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Lent</value>
|
<value>Lent</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,8 +210,23 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Stroboscopique</value>
|
<value>Stroboscopique</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Tout</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Molette</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Appliquer automatiquement</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoMode" xml:space="preserve">
|
<data name="AutoMode" xml:space="preserve">
|
||||||
<value>Automatique</value>
|
<value>Automatique</value>
|
||||||
@@ -204,26 +243,41 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Équilibré</value>
|
<value>Équilibré</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Charge de la batterie</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Limite de charge </value>
|
<value>Limite de charge </value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Santé de la batterie</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Charge unique à 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>Mise à jour BIOS et pilotes</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Au démarrage</value>
|
<value>Au démarrage</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Son au démarrage</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Luminosité</value>
|
<value>Luminosité</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessDown" xml:space="preserve">
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
<value>Brightness Down</value>
|
<value>Baisser la luminosité</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Augmenter la luminosité</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrer</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Chargement en cours</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Couleur</value>
|
<value>Couleur</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Personnalisé</value>
|
<value>Personnalisé</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Décélération</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Par défaut</value>
|
<value>Par défaut</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,10 +301,10 @@
|
|||||||
<value>Taux décharge </value>
|
<value>Taux décharge </value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Télécharger la mise à jour</value>
|
<value>Télécharger</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Pilotes et Logiciels</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Désactive le dGPU pour préserver la batterie</value>
|
<value>Désactive le dGPU pour préserver la batterie</value>
|
||||||
@@ -256,12 +313,15 @@
|
|||||||
<value>Éco</value>
|
<value>Éco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot.
|
<value>Désactiver la dGPU en passant au mode Eco pendant que le mode d'affichage dans le panneau de configuration NVIDIA n'est pas réglé sur Optimus peut causer des problèmes avec les commandes de luminosité jusqu'au prochain redémarrage.
|
||||||
|
|
||||||
Do you still want to continue?</value>
|
Voulez-vous continuer ?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>Le mode d'affichage NVIDIA n'est pas réglé sur Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Paramètres d'énergie</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>+ d'options</value>
|
<value>+ d'options</value>
|
||||||
@@ -291,13 +351,13 @@ Do you still want to continue?</value>
|
|||||||
<value>Ventilateurs + Puissance</value>
|
<value>Ventilateurs + Puissance</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Fan</value>
|
<value>Ventilateur</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Ventilateurs + Puissance</value>
|
<value>Ventilateurs + Puissance</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>Process Fn+F hotkeys without Fn</value>
|
<value>Traiter les raccourcis clavier Fn+F sans Fn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dynamic Boost</value>
|
||||||
@@ -329,6 +389,12 @@ Do you still want to continue?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Température cible</value>
|
<value>Température cible</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutes jusqu'à la mise en veille prolongée sur la batterie (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Élevé</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Raccourcis clavier</value>
|
<value>Raccourcis clavier</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -336,7 +402,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Clavier</value>
|
<value>Clavier</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>Stop all apps using GPU when switching to Eco</value>
|
<value>Arrêter toutes les applications utilisant la dGPU lors du passage au mode Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Rétroéclairage de l'ordinateur</value>
|
<value>Rétroéclairage de l'ordinateur</value>
|
||||||
@@ -353,9 +419,15 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Barre lumineuse</value>
|
<value>Barre lumineuse</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Éclairage</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Faible</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Visualiseur Audio</value>
|
<value>Visualiseur Audio</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,17 +461,50 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Rafraichîssement 60 Hz pour économiser de la batterie</value>
|
<value>Rafraichîssement 60 Hz pour économiser de la batterie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutes</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Arrêt automatique après</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Avertissement de batterie faible à</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchroniser avec le pointeur</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multi-zone</value>
|
<value>Multi-zone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Désactiver le micro</value>
|
<value>Désactiver le micro</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Jamais</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>Nouvelles mises à jour</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>Aucune mise à jour disponible</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Non connecté</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Ouvrir G-Helper</value>
|
<value>Ouvrir G-Helper</value>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Mode Performance</value>
|
<value>Mode Performance</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Périphériques</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Image / Gif</value>
|
<value>Image / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Lecture / Pause</value>
|
<value>Lecture / Pause</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Limites de puissance</value>
|
<value>Limites de puissance</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Capture d'écran</value>
|
<value>Capture d'écran</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Quitter</value>
|
<value>Quitter</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Un processus utilisant le dGPU empêche le passage en mode Éco. Redémarrer le dGPU ? * Procédez à vos risques.</value>
|
<value>Un programme utilise le dGPU et empêche le passage en mode Éco. Laissez G-Helper tenter un redémarrage du dGPU dans le gestionnaire de tâches ? (Procéder à vos propres risques)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value> RPM</value>
|
<value> RPM</value>
|
||||||
@@ -450,10 +564,10 @@ Do you still want to continue?</value>
|
|||||||
<value>Exécuter au démarrage</value>
|
<value>Exécuter au démarrage</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Baisser la luminosité du Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Augmenter la luminosité du Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Arrêter</value>
|
<value>Arrêter</value>
|
||||||
@@ -471,10 +585,10 @@ Do you still want to continue?</value>
|
|||||||
<value>Standard</value>
|
<value>Standard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Start" xml:space="preserve">
|
<data name="Start" xml:space="preserve">
|
||||||
<value>Start</value>
|
<value>Démarrer</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartingServices" xml:space="preserve">
|
<data name="StartingServices" xml:space="preserve">
|
||||||
<value>Starting Services</value>
|
<value>Démarrage des services</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartupError" xml:space="preserve">
|
<data name="StartupError" xml:space="preserve">
|
||||||
<value>Erreur au lancement</value>
|
<value>Erreur au lancement</value>
|
||||||
@@ -483,19 +597,19 @@ Do you still want to continue?</value>
|
|||||||
<value>Stop</value>
|
<value>Stop</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StopGPUApps" xml:space="preserve">
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
<value>Stop GPU Applications</value>
|
<value>Arrêt des applications dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StoppingServices" xml:space="preserve">
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
<value>Stopping Services</value>
|
<value>Arrêt des services</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Activer Aura</value>
|
<value>Activer Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Basculer automatiquement en mode Clamshell</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Toggle Fn-Lock</value>
|
<value>Activer/désactiver Fn-Lock</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Activer Miniled (si supporté)</value>
|
<value>Activer Miniled (si supporté)</value>
|
||||||
@@ -519,10 +633,10 @@ Do you still want to continue?</value>
|
|||||||
<value>Ultime</value>
|
<value>Ultime</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
<value>L'undervolting est une fonctionnalité expérimentale et risquée. Si les valeurs appliquées sont trop faibles, elles peuvent causer de l'instabilité, éteindre l'ordinateur ou causer une corruption de données. Si vous voulez essayer - commencer avec des petites valeurs, cliquez sur Appliquer et testez ce qui fonctionne pour vous.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Mises à jour</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Version </value>
|
<value>Version </value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Gyorsítás</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Nem sikerült csatlakozni az ASUS ACPI-hez, az alkalmazás nem működik enélkül. Próbáld meg telepíteni az ASUS rendszervezérlő interfész-t</value>
|
<value>Nem sikerült csatlakozni az ASUS ACPI-hez, az alkalmazás nem működik enélkül. Próbáld meg telepíteni az ASUS rendszervezérlő interfész-t</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus szolgáltatások futnak</value>
|
<value>Asus szolgáltatások futnak</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Akkuállapot</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Lélegző</value>
|
<value>Lélegző</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Jobbra forog</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Színváltás</value>
|
<value>Színváltás</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Üstökös</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Balra forog</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Gyors</value>
|
<value>Gyors</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Világítás típusa</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normál</value>
|
<value>Normál</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Szivárvány</value>
|
<value>Szivárvány</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Véletlen</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reagál</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Lassú</value>
|
<value>Lassú</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Stroboszkóp</value>
|
<value>Stroboszkóp</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Mindegyik</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dokk</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logó</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Görgetés</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Automatikus alkalmazás</value>
|
<value>Automatikus alkalmazás</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -199,20 +238,32 @@
|
|||||||
<value>Ébren</value>
|
<value>Ébren</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Timeout plugged / on battery (0 - ON)</value>
|
<value>Késleltetés töltés / akku módban (0 - BE)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Teljesítmény</value>
|
<value>Teljesítmény</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Töltés</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Töltési korlát</value>
|
<value>Töltési korlát</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Akku állapot</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS és illesztőprogram frissítések</value>
|
<value>BIOS és illesztőprogram frissítések</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Rendszerbetöltés</value>
|
<value>Rendszerbetöltés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Rendszerindítási hang</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Fényerő</value>
|
<value>Fényerő</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,8 +273,11 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Fényerő növelése</value>
|
<value>Fényerő növelése</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibrálás</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Töltés</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Szín</value>
|
<value>Szín</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Egyéni</value>
|
<value>Egyéni</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Lassítás</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Alapért.</value>
|
<value>Alapért.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Merülés</value>
|
<value>Merülés</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Frissítés letöltése</value>
|
<value>Letöltés</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Illesztőprogramok és alkalmazások</value>
|
<value>Illesztőprogramok és alkalmazások</value>
|
||||||
@@ -263,6 +320,9 @@ Do you still want to continue?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA kijelzőmód nincs Optimus-ra állítva</value>
|
<value>NVIDIA kijelzőmód nincs Optimus-ra állítva</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energia beállítások</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -297,7 +357,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Venti + energia</value>
|
<value>Venti + energia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>Process Fn+F hotkeys without Fn</value>
|
<value>Fn + F gyorsgombok feldolgozása Fn nélkül</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dinamikus gyorsítás</value>
|
<value>Dinamikus gyorsítás</value>
|
||||||
@@ -329,6 +389,12 @@ Do you still want to continue?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Célhőmérséklet</value>
|
<value>Célhőmérséklet</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Akku módban az alvó módból Hibernálásig eltelt idő (0 - KI)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Magas</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Gyorsbillentyűk</value>
|
<value>Gyorsbillentyűk</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -336,7 +402,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Billentyűzet</value>
|
<value>Billentyűzet</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>Stop all apps using GPU when switching to Eco</value>
|
<value>Eco módba lépéskor minden alkalmazást leállít, ami a GPU-t használja</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Laptop háttérvilágítás</value>
|
<value>Laptop háttérvilágítás</value>
|
||||||
@@ -353,14 +419,20 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Fénysáv</value>
|
<value>Fénysáv</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Világítás</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logó</value>
|
<value>Logó</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Alacsony</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Hang vizualizáció</value>
|
<value>Hang vizualizáció</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Binary Banner</value>
|
<value>Bináris logó</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBright" xml:space="preserve">
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
<value>Fényes</value>
|
<value>Fényes</value>
|
||||||
@@ -389,18 +461,51 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz-s frissítési gyakoriság, hogy spóroljon az akkuval</value>
|
<value>60Hz-s frissítési gyakoriság, hogy spóroljon az akkuval</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>perc</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>perc</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Automatikus kikapcsolás idő múlva</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Gomb funkciója</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Low Battery Warning at</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Teljesítmény</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Szinkronizálás egérrel</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Többzónás</value>
|
<value>Többzónás</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mikrofon némítása</value>
|
<value>Mikrofon némítása</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Soha</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Új frissítés</value>
|
<value>Új frissítés</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Nincs új frissítés</value>
|
<value>Nincs új frissítés</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Nincs csatlakoztatva</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>G-Helper ablak megnyitása</value>
|
<value>G-Helper ablak megnyitása</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -408,7 +513,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Optimalizált</value>
|
<value>Optimalizált</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Akkus módban váltson Eco módra, töltés közben pedig Standard-ra</value>
|
<value>Akkus módban váltson Eco módra, töltéskor pedig Standard-ra</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>Optimalizált módban USB-C-s töltés közben tartsa letiltva a GPU-t</value>
|
<value>Optimalizált módban USB-C-s töltés közben tartsa letiltva a GPU-t</value>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Üzemmód</value>
|
<value>Üzemmód</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Perifériák</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Kép / Gif</value>
|
<value>Kép / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Indít / Megállít</value>
|
<value>Indít / Megállít</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Teljesítménykorlátok</value>
|
<value>Teljesítménykorlátok</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,17 +548,20 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>PrintScreen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Bezárás</value>
|
<value>Bezárás</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Valami használja még a dGPU-t, ezzel megakadályozva az Eco móda lépést. Újraindítsuk a dGPU-t eszközkezelőben? * Kérjük, saját felelősségére folytassa.</value>
|
<value>Valami használja még a dGPU-t, ezzel megakadályozva az Eco móda lépést. Próbálja meg a G-Helper újraindítani a dGPU-t az eszközkezelőben? (Kérjük, saját felelősségére folytassa)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>Fordulatszám</value>
|
<value>Fordulatszám</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RunOnStartup" xml:space="preserve">
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
<value>Futtatás rendszerindításkor</value>
|
<value>Indítás a rendszerrel</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Screenpad Brightness Down</value>
|
||||||
@@ -513,7 +627,7 @@ Do you still want to continue?</value>
|
|||||||
<value>Akkus üzemmódban kikapcsol</value>
|
<value>Akkus üzemmódban kikapcsol</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
<value>A jobb FPS érdekében a laptop kijelzőt közvetlenül a GPU-n keresztül működteti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Ultimate</value>
|
<value>Ultimate</value>
|
||||||
|
|||||||
656
app/Properties/Strings.id.resx
Normal file
@@ -0,0 +1,656 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="type" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string"/>
|
||||||
|
<xsd:attribute ref="xml:space"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="name" type="xsd:string"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
|
||||||
|
<xsd:attribute ref="xml:space"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Akselerasi</value>
|
||||||
|
</data>
|
||||||
|
<data name="ACPIError" xml:space="preserve">
|
||||||
|
<value>Tidak dapat terhubung ke ASUS ACPI. tanpanya aplikasi tidak dapat berfungsi. Cobalah untuk menginstal Asus System Control Interface</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
|
<value>Tampaknya GPU sedang digunakan intensif, nonaktifkan?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||||
|
<value>Mode Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
|
<value>Mematikan Mode Ultimate memerlukan restart.</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
|
<value>Mode Ultimate memerlukan restart</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
|
<value>Mulai ulang sekarang?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
|
<value>Kecepatan Animasi</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
|
<value>Anime Matrix</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
|
<value>Aplikasi sudah berjalan</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||||
|
<value>G-Helper sudah berjalan. Periksa system tray untuk menemukan ikonnya.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Apply" xml:space="preserve">
|
||||||
|
<value>Terapkan</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
|
<value>Terapkan Custom Fan Curve</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
|
<value>Terapkan Batas Daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
|
<value>Otomatis sesuaikan Mode Daya Windows</value>
|
||||||
|
</data>
|
||||||
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
|
<value>Layanan Asus Berjalan</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Status Baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
|
<value>Bernapas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Searah Jarum Jam</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
|
<value>Siklus Warna</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Komet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Berlawanan Jarum Jam</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraFast" xml:space="preserve">
|
||||||
|
<value>Cepat</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Mode Pencahayaan</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
|
<value>Normal</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
|
<value>Pelangi</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Acak</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reaksi</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
|
<value>Pelan</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
|
<value>Statis</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
|
<value>Berkedip</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Semua</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dok</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Roda Gulir</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Cahaya Bawah</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoApply" xml:space="preserve">
|
||||||
|
<value>Terapkan Secara Otomatis</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoMode" xml:space="preserve">
|
||||||
|
<value>Otomatis</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Atur ke 60Hz untuk menghemat baterai, dan kembalikan saat mengisi daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="Awake" xml:space="preserve">
|
||||||
|
<value>Bangun</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
|
<value>Waktu tunggu dicolokan / menggunakan baterai (0 - Hidup)</value>
|
||||||
|
</data>
|
||||||
|
<data name="Balanced" xml:space="preserve">
|
||||||
|
<value>Seimbang</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
|
<value>Batas Pengisian Baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Kesehatan Baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Isi daya sekali hingga mencapai 100%</value>
|
||||||
|
</data>
|
||||||
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
|
<value>Pembaruan BIOS dan Driver</value>
|
||||||
|
</data>
|
||||||
|
<data name="Boot" xml:space="preserve">
|
||||||
|
<value>Boot</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Suara Boot</value>
|
||||||
|
</data>
|
||||||
|
<data name="Brightness" xml:space="preserve">
|
||||||
|
<value>Kecerahan</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
|
<value>Kurangi Kecerahan</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
|
<value>Tingkatkan Kecerahan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibrasi</value>
|
||||||
|
</data>
|
||||||
|
<data name="Charging" xml:space="preserve">
|
||||||
|
<value>Mengisi Daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="Color" xml:space="preserve">
|
||||||
|
<value>Warna</value>
|
||||||
|
</data>
|
||||||
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
|
<value>CPU Boost</value>
|
||||||
|
</data>
|
||||||
|
<data name="Custom" xml:space="preserve">
|
||||||
|
<value>Kustom</value>
|
||||||
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Perlambatan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Default" xml:space="preserve">
|
||||||
|
<value>Standar</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
|
<value>Nonaktifkan screen overdrive</value>
|
||||||
|
</data>
|
||||||
|
<data name="Discharging" xml:space="preserve">
|
||||||
|
<value>Discharging</value>
|
||||||
|
</data>
|
||||||
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
|
<value>Unduh</value>
|
||||||
|
</data>
|
||||||
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
|
<value>Driver dan Software</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Menonaktikan dGPU untuk menghemat baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoMode" xml:space="preserve">
|
||||||
|
<value>Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
|
<value>Menonaktikan dGPU dengan masuk ke mode Eco saat Mode Tampilan di Panel Kontrol NVIDIA tidak diatur ke Optimus mungkin dapat menyebabkan masalah dengan kontrol kecerahan hingga mulai ulang berikutnya.
|
||||||
|
|
||||||
|
Apakah Anda masih ingin melanjutkan?</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
|
<value>Mode Tampilan NVIDIA tidak diatur ke Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Pengaturan Energi</value>
|
||||||
|
</data>
|
||||||
|
<data name="Extra" xml:space="preserve">
|
||||||
|
<value>Ekstra</value>
|
||||||
|
</data>
|
||||||
|
<data name="ExtraSettings" xml:space="preserve">
|
||||||
|
<value>Pengaturan Ekstra</value>
|
||||||
|
</data>
|
||||||
|
<data name="FactoryDefaults" xml:space="preserve">
|
||||||
|
<value>Setelan Pabrik</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanCurves" xml:space="preserve">
|
||||||
|
<value>Kurva Kipas</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileCPU" xml:space="preserve">
|
||||||
|
<value>Profil Kipas CPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileGPU" xml:space="preserve">
|
||||||
|
<value>Profil Kipas GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
|
<value>Profil Kipas Sedang</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
|
<value>Profil Kipas</value>
|
||||||
|
</data>
|
||||||
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
|
<value>Kipas dan Daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
|
<value>Kipas</value>
|
||||||
|
</data>
|
||||||
|
<data name="FansPower" xml:space="preserve">
|
||||||
|
<value>Kipas + Daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Proses tombol pintas Fn+F tanpa Fn</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
|
<value>Dynamic Boost</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
|
<value>Mengubah</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
|
<value>Core Clock Offset</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||||
|
<value>Memory Clock Offset</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMode" xml:space="preserve">
|
||||||
|
<value>Mode GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
|
<value>Hanya iGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
|
<value>iGPU + dGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
|
<value>dGPU eksklusif</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
|
<value>Pengaturan GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
|
<value>Target Suhu</value>
|
||||||
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Menit hingga Hibernasi dalam mode tidur saat menggunakan baterai (0 - Mati)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Tinggi</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
|
<value>Pintasan Keyboard</value>
|
||||||
|
</data>
|
||||||
|
<data name="Keyboard" xml:space="preserve">
|
||||||
|
<value>Keyboard</value>
|
||||||
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Hentikan semua aplikasi yang menggunakan GPU saat beralih ke mode Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
|
<value>Laptop Backlight</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
|
<value>Laptop Keyboard</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
|
<value>Layar Laptop</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lid" xml:space="preserve">
|
||||||
|
<value>Lid</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lightbar" xml:space="preserve">
|
||||||
|
<value>Lightbar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Lighting</value>
|
||||||
|
</data>
|
||||||
|
<data name="Logo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Rendah</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
|
<value>Visualisasi Audio</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
|
<value>Binary Banner</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
|
<value>Terang</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixClock" xml:space="preserve">
|
||||||
|
<value>Jam</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixDim" xml:space="preserve">
|
||||||
|
<value>Redup</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixLogo" xml:space="preserve">
|
||||||
|
<value>Logo Rog</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixMedium" xml:space="preserve">
|
||||||
|
<value>Sedang</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixOff" xml:space="preserve">
|
||||||
|
<value>Mati</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixPicture" xml:space="preserve">
|
||||||
|
<value>Gambar</value>
|
||||||
|
</data>
|
||||||
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Maks refresh rate untuk mengurangi latensi</value>
|
||||||
|
</data>
|
||||||
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>60Hz refresh rate untuk menghemat baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Menit</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Menit</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Mati Otomatis Setelah</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Respon Tombol</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Jarak Angkat</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Peringatan Baterai Rendah pada</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performa</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Sinkronkan dengan mouse</value>
|
||||||
|
</data>
|
||||||
|
<data name="Multizone" xml:space="preserve">
|
||||||
|
<value>Multizona</value>
|
||||||
|
</data>
|
||||||
|
<data name="MuteMic" xml:space="preserve">
|
||||||
|
<value>Bisukan Mic</value>
|
||||||
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Jangan Pernah</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
|
<value>Pembaruan Terbaru</value>
|
||||||
|
</data>
|
||||||
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
|
<value>Tidak ada pembaruan</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Tidak Tersambung</value>
|
||||||
|
</data>
|
||||||
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
|
<value>Buka Jendela G-Helper</value>
|
||||||
|
</data>
|
||||||
|
<data name="Optimized" xml:space="preserve">
|
||||||
|
<value>Dioptimalkan</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Beralih ke Mode Eco saat menggunakan baterai dan ke Mode Standar saat mengisi daya.</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>Tetap matikan GPU pada pengisi daya USB-C dalam mode Dioptimalkan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Other" xml:space="preserve">
|
||||||
|
<value>Lainnya</value>
|
||||||
|
</data>
|
||||||
|
<data name="Overdrive" xml:space="preserve">
|
||||||
|
<value>Overdrive</value>
|
||||||
|
</data>
|
||||||
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
|
<value>Mode</value>
|
||||||
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Periferal</value>
|
||||||
|
</data>
|
||||||
|
<data name="PictureGif" xml:space="preserve">
|
||||||
|
<value>Gambar / Gif</value>
|
||||||
|
</data>
|
||||||
|
<data name="PlayPause" xml:space="preserve">
|
||||||
|
<value>Putar / Jeda</value>
|
||||||
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
|
<value>Batas Daya</value>
|
||||||
|
</data>
|
||||||
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
|
<value>Batas Daya adalah fitur eksperimental. Gunakan dengan hati-hati dan atas risiko Anda sendiri!</value>
|
||||||
|
</data>
|
||||||
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
|
<value>PrintScreen</value>
|
||||||
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
|
<data name="Quit" xml:space="preserve">
|
||||||
|
<value>Keluar</value>
|
||||||
|
</data>
|
||||||
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
|
<value>Ada yang menggunakan dGPU dan mencegah mode Eco. Biarkan G-Helper mencoba memulai ulang dGPU di pengelola perangkat? (Silakan lanjutkan dengan risiko Anda sendiri)</value>
|
||||||
|
</data>
|
||||||
|
<data name="RPM" xml:space="preserve">
|
||||||
|
<value>RPM</value>
|
||||||
|
</data>
|
||||||
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
|
<value>Jalankan di Startup</value>
|
||||||
|
</data>
|
||||||
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
|
<value>Kurangi Kecerahan Screenpad</value>
|
||||||
|
</data>
|
||||||
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
|
<value>Tingkatkan Kecerahan Screenpad</value>
|
||||||
|
</data>
|
||||||
|
<data name="Shutdown" xml:space="preserve">
|
||||||
|
<value>Matikan</value>
|
||||||
|
</data>
|
||||||
|
<data name="Silent" xml:space="preserve">
|
||||||
|
<value>Diam</value>
|
||||||
|
</data>
|
||||||
|
<data name="Sleep" xml:space="preserve">
|
||||||
|
<value>Tidur</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Mengaktifkan dGPU untuk penggunaan standar</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardMode" xml:space="preserve">
|
||||||
|
<value>Standar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Start" xml:space="preserve">
|
||||||
|
<value>Mulai</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartingServices" xml:space="preserve">
|
||||||
|
<value>Memulai Services</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartupError" xml:space="preserve">
|
||||||
|
<value>Startup Error</value>
|
||||||
|
</data>
|
||||||
|
<data name="Stop" xml:space="preserve">
|
||||||
|
<value>Berhenti</value>
|
||||||
|
</data>
|
||||||
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
|
<value>Hentikan Aplikasi GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
|
<value>Menghentikan Services</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
|
<value>Hidupkan/Matikan Aura</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
|
<value>Otomatis Hidupkan/Matikan Mode Clamshell</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
|
<value>Hidupkan/Matikan Fn-Lock</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
|
<value>Toggle Miniled (jika didukung)</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
|
<value>Hidupkan/Matikan Layar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Turbo" xml:space="preserve">
|
||||||
|
<value>Turbo</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnedOff" xml:space="preserve">
|
||||||
|
<value>Dimatikan</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
|
<value>Matikan saat menggunakan baterai</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Merutekan layar laptop ke dGPU, memaksimalkan FPS</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
|
<value>Ultimate</value>
|
||||||
|
</data>
|
||||||
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
|
<value>Undervolting adalah fitur eksperimental dan berisiko. Jika nilai yang diterapkan terlalu rendah untuk perangkat keras Anda, ini dapat menjadi tidak stabil, mati mendadak, atau menyebabkan kerusakan data. Jika Anda ingin mencobanya, mulailah dengan nilai kecil terlebih dahulu, klik Terapkan, dan uji apa yang cocok untuk Anda.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Updates" xml:space="preserve">
|
||||||
|
<value>Pembaruan</value>
|
||||||
|
</data>
|
||||||
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
|
<value>Versi</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
|
<value>Volume Turun</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
|
<value>Volume Bisu</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
|
<value>Volume Naik</value>
|
||||||
|
</data>
|
||||||
|
<data name="WindowTop" xml:space="preserve">
|
||||||
|
<value>Jaga agar jendela aplikasi selalu di atas</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -117,8 +117,11 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Accelerazione</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Impossibile connettersi ad ASUS ACPI. Senza di essa l'applicazione non può funzionare. Prova a installare Asus System Control Interface</value>
|
<value>Impossibile connettersi ad ASUS ACPI. Senza di essa l'applicazione non può funzionare. Prova ad installare Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Uso intensivo della GPU, disabilitare?</value>
|
<value>Uso intensivo della GPU, disabilitare?</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Servizi Asus in Esecuzione</value>
|
<value>Servizi Asus in Esecuzione</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Stato Batteria</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Respiro</value>
|
<value>Respiro</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Senso Orario</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Ciclo Colori</value>
|
<value>Ciclo Colori</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Cometa</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Senso Antiorario</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Veloce</value>
|
<value>Veloce</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Modalità Illuminazione</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normale</value>
|
<value>Normale</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Arcobaleno</value>
|
<value>Arcobaleno</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Casuale</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reazione</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Lenta</value>
|
<value>Lenta</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Strobo</value>
|
<value>Strobo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Tutte</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Rotellina</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Applica</value>
|
<value>Auto Applica</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -204,15 +243,27 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Bilanciato</value>
|
<value>Bilanciato</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Carica</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Limite Ricarica Batteria</value>
|
<value>Limite Ricarica Batteria</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Salute Batteria</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>Aggiornamenti Driver e BIOS</value>
|
<value>Aggiornamenti Driver e BIOS</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Avvio</value>
|
<value>Avvio</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Luminosità</value>
|
<value>Luminosità</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Aumenta Luminosità</value>
|
<value>Aumenta Luminosità</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>In carica</value>
|
<value>In carica</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -229,11 +283,14 @@
|
|||||||
<value>Colore</value>
|
<value>Colore</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU Boost</value>
|
<value>Boost CPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Personalizzato</value>
|
<value>Personalizzato</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Decelerazione</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Default</value>
|
<value>Default</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Scaricamento</value>
|
<value>Scaricamento</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Scarica aggiornamento</value>
|
<value>Scarica</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Driver e Software</value>
|
<value>Driver e Software</value>
|
||||||
@@ -263,6 +320,9 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>Modalità schermo NVIDIA non impostata su Optimus</value>
|
<value>Modalità schermo NVIDIA non impostata su Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Risparmio Energia</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperatura Target</value>
|
<value>Temperatura Target</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Iberna dopo X minuti se alimentato a batteria (0 - ACCESO)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Elevato</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Associazione Tasti</value>
|
<value>Associazione Tasti</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Barra Luminosa</value>
|
<value>Barra Luminosa</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Illuminazione</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Basso</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Visualizzatore Audio</value>
|
<value>Visualizzatore Audio</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz refresh rate per risparmiare batteria</value>
|
<value>60Hz refresh rate per risparmiare batteria</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minuto</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minuti</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto-disattivazione dopo</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Risposta Tasto Mouse</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Avviso Batteria Mouse in Esaurimento</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Prestazioni</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Sincronizza con Mouse</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizona</value>
|
<value>Multizona</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Silenzia microfono</value>
|
<value>Silenzia microfono</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Mai</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Nuovi aggiornamenti</value>
|
<value>Nuovi aggiornamenti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Sistema aggiornato</value>
|
<value>Sistema aggiornato</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Non Connesso</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Apri G-Helper</value>
|
<value>Apri G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -411,7 +516,7 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<value>Passa ad Eco se alimentato a batteria e a Standard quando in carica</value>
|
<value>Passa ad Eco se alimentato a batteria e a Standard quando in carica</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>Lascia la GPU disabilitata sulla porta USB-C in modalità Ottimizzata</value>
|
<value>Disabilita GPU durante ricarica tramite USB-C in modalità Ottimizzata</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Altro</value>
|
<value>Altro</value>
|
||||||
@@ -422,12 +527,18 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Profilo</value>
|
<value>Profilo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Periferiche</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Immagine / Gif</value>
|
<value>Immagine / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Riproduci / Pausa</value>
|
<value>Riproduci / Pausa</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Limiti di Potenza</value>
|
<value>Limiti di Potenza</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>PrintScreen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profilo</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Esci</value>
|
<value>Esci</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Qualcosa sta utilizzando la dGPU e impedendo la modalità Eco. Riavviare la dGPU da Gestione dispositivi? * Procedere a proprio rischio e pericolo.</value>
|
<value>Qualcosa sta utilizzando la dGPU e impedisce il passaggio alla modalità Eco. Vuoi che G-Helper provi a riavviare la dGPU in gestione dispositivi? (Procedi a tuo rischio)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
@@ -492,7 +606,7 @@ Sei sicuro di voler continuare?</value>
|
|||||||
<value>Alterna Aura</value>
|
<value>Alterna Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Attiva automaticamente la modalità a conchiglia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Alterna Blocco-Fn</value>
|
<value>Alterna Blocco-Fn</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Acceleration</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>ASUS ACPI에 연결할 수 없어 응용 프로그램이 작동하지 않습니다. Asus System Control Interface를 먼저 설치하십시오.</value>
|
<value>ASUS ACPI에 연결할 수 없어 응용 프로그램이 작동하지 않습니다. Asus System Control Interface를 먼저 설치하십시오.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -162,29 +165,65 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>실행중인 Asus 서비스</value>
|
<value>실행중인 Asus 서비스</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>배터리 상태</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Breathe</value>
|
<value>숨쉬기</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>시계 방향</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Color Cycle</value>
|
<value>색 순환</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>혜성</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>반시계 방향</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>빠르게</value>
|
<value>빠르게</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>조명 모드</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>보통</value>
|
<value>보통</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Rainbow</value>
|
<value>무지개</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>랜덤</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>반응</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>느리게</value>
|
<value>느리게</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStatic" xml:space="preserve">
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
<value>Static</value>
|
<value>정적</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Strobe</value>
|
<value>섬광</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>전체</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>독</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>로고</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>스크롤 휠</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>하단 조명</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>자동 적용</value>
|
<value>자동 적용</value>
|
||||||
@@ -196,22 +235,34 @@
|
|||||||
<value>배터리 사용 중에만 60Hz 설정</value>
|
<value>배터리 사용 중에만 60Hz 설정</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Awake</value>
|
<value>절전 모드 해제</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>전원 연결 / 배터리 사용 중 자동 꺼짐 시간 (0 - 항상 켜짐)</value>
|
<value>전원 / 배터리 사용 중 자동 꺼짐 시간 (0 - 항상 켜짐)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>균형</value>
|
<value>균형</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>잔량</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>배터리 충전 제한</value>
|
<value>배터리 충전 제한</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>배터리 수명</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>바이오스/드라이버 업데이트</value>
|
<value>바이오스/드라이버 업데이트</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Boot</value>
|
<value>부팅</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>밝기</value>
|
<value>밝기</value>
|
||||||
@@ -222,8 +273,11 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>밝기 증가</value>
|
<value>밝기 증가</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>충전 중</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>색상</value>
|
<value>색상</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>사용자 설정</value>
|
<value>사용자 설정</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Deceleration</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>기본</value>
|
<value>기본</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>방전 중</value>
|
<value>방전 중</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>업데이트 다운로드</value>
|
<value>다운로드</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>드라이버와 소프트웨어</value>
|
<value>드라이버와 소프트웨어</value>
|
||||||
@@ -263,6 +320,9 @@
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA 디스플레이 모드가 Optimus로 설정되어 있지 않습니다.</value>
|
<value>NVIDIA 디스플레이 모드가 Optimus로 설정되어 있지 않습니다.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energy Settings</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>추가 설정</value>
|
<value>추가 설정</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -291,7 +351,7 @@
|
|||||||
<value>팬 속도/전력</value>
|
<value>팬 속도/전력</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Fan</value>
|
<value>팬</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>팬 + 전력</value>
|
<value>팬 + 전력</value>
|
||||||
@@ -329,6 +389,12 @@
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>목표 온도</value>
|
<value>목표 온도</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>최대 절전 모드 전환 시간 (0 - 꺼짐)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>높게</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>키 설정</value>
|
<value>키 설정</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>라이트바</value>
|
<value>라이트바</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>조명</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>로고</value>
|
<value>로고</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>낮게</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>오디오 비주얼라이저</value>
|
<value>오디오 비주얼라이저</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz 주사율 설정</value>
|
<value>60Hz 주사율 설정</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>분 후</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>분 후</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>직선 보정</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>자동 전원 꺼짐</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>버튼 응답</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>들어올림 거리</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>배터리 부족 경고 알림</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>성능</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>마우스와 동기화</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>멀티존</value>
|
<value>멀티존</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>마이크 음소거</value>
|
<value>마이크 음소거</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>사용 안함</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>새 업데이트</value>
|
<value>새 업데이트</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>새 업데이트 없음</value>
|
<value>새 업데이트 없음</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>연결되지 않음</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>G-Helper 열기</value>
|
<value>G-Helper 열기</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>성능 모드</value>
|
<value>성능 모드</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>주변 장치</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>사진 / Gif</value>
|
<value>사진 / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>재생 / 정지</value>
|
<value>재생 / 정지</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>폴링레이트</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>전력 제한</value>
|
<value>전력 제한</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,6 +548,9 @@
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>PrintScreen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>프로필</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>종료</value>
|
<value>종료</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -456,13 +570,13 @@
|
|||||||
<value>Screenpad 밝기 증가</value>
|
<value>Screenpad 밝기 증가</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>꺼짐</value>
|
<value>시스템 종료</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Silent" xml:space="preserve">
|
<data name="Silent" xml:space="preserve">
|
||||||
<value>조용</value>
|
<value>조용</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Sleep" xml:space="preserve">
|
<data name="Sleep" xml:space="preserve">
|
||||||
<value>Sleep</value>
|
<value>절전 모드</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
<value>Standard 모드에서 dGPU 켜기</value>
|
<value>Standard 모드에서 dGPU 켜기</value>
|
||||||
@@ -489,19 +603,19 @@
|
|||||||
<value>서비스 중지 중</value>
|
<value>서비스 중지 중</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Aura 토글 키</value>
|
<value>Aura 전환 키</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>클램쉘 모드 자동 전환</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Fn-Lock 토글 키</value>
|
<value>Fn-Lock 전환 키</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Miniled 토글 키 (지원하는 기기만)</value>
|
<value>Miniled 전환 키 (지원하는 기기만)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>화면 토글 키</value>
|
<value>화면 전환 키</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>터보</value>
|
<value>터보</value>
|
||||||
@@ -519,7 +633,7 @@
|
|||||||
<value>Ultimate</value>
|
<value>Ultimate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>언더볼팅은 실험적이며 위험한 기능입니다. 적용 값이 너무 낮은 경우 시스템이 불안정해지고, 종료되거나 데이터 손상을 유발할 수 있습니다. 작은 값부터 적용하여 잘 작동하는지 확인해 보십시오.</value>
|
<value>언더볼팅은 실험적이며 위험한 기능입니다. 적용 값이 너무 낮은 경우 시스템이 불안정해지고, 강제 종료되거나 데이터 손상을 유발할 수 있습니다. 낮은 값부터 적용하여 잘 작동하는지 확인해 보십시오.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>업데이트</value>
|
<value>업데이트</value>
|
||||||
|
|||||||
@@ -117,426 +117,540 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Greitėjimas</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface</value>
|
<value>Nepavyko prisijungti prie ASUS ACPI. Programėlė be jo negali veikti. Pabandykite įdiegti Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Looks like GPU is in heavy use, disable it?</value>
|
<value>Panašu, kad jūsų GPU yra intensyviai naudojamas. Išjungti jį?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPUTitle" xml:space="preserve">
|
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||||
<value>Eco Mode</value>
|
<value>Ekonomiškas režimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOff" xml:space="preserve">
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
<value>Switching off Ultimate Mode requires restart</value>
|
<value>Maksimalaus režimo išjungimas reikalauja paleidimo iš naujo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateOn" xml:space="preserve">
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
<value>Ultimate Mode requires restart</value>
|
<value>Maksimalus režimas reikalauja paleidimo iš naujo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
<value>Reboot now?</value>
|
<value>Paleisti iš naujo dabar?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimationSpeed" xml:space="preserve">
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
<value>Animation Speed</value>
|
<value>Animacijos greitis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimeMatrix" xml:space="preserve">
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
<value>Anime Matrix</value>
|
<value>Anime matrica</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
<value>App already running</value>
|
<value>Programėlė jau paleista</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AppAlreadyRunningText" xml:space="preserve">
|
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||||
<value>G-Helper is already running. Check system tray for an icon.</value>
|
<value>G-Helper jau paleistas. Patikrinkite, ar sistemos juostelėje nėra piktogramos.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Apply" xml:space="preserve">
|
<data name="Apply" xml:space="preserve">
|
||||||
<value>Apply</value>
|
<value>Taikyti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Apply Custom Fan Curve</value>
|
<value>Taikyti tinkintą aušintuvo kreivę</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>Apply Power Limits</value>
|
<value>Taikyti galios ribas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
<value>Auto adjust Windows Power Modes</value>
|
<value>Automatiškai derinti Windows energijos režimus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus Services Running</value>
|
<value>Veikiančios Asus tarnybos</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Būsena</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Breathe</value>
|
<value>Kvėpavimas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Pagal laikrodžio rodyklę</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Color Cycle</value>
|
<value>Spalvų ciklas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Comet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Prieš laikrodžio rodyklę</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Fast</value>
|
<value>Greitas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Apšvietimo režimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normalus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Rainbow</value>
|
<value>Vaivorykštė</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Atsitiktinė</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>React</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Slow</value>
|
<value>Lėtas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStatic" xml:space="preserve">
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
<value>Static</value>
|
<value>Statinis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Strobe</value>
|
<value>Blyksniai</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Visi</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Jungčių stotelė</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logotipas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Ratukas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Apatinis apšvietimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Taikyti automatiškai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoMode" xml:space="preserve">
|
<data name="AutoMode" xml:space="preserve">
|
||||||
<value>Auto</value>
|
<value>Automatinis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
<value>Sets 60Hz to save battery, and back when plugged</value>
|
<value>Nustato 60Hz, kad taupytų energiją, ir atgal, kai įjungtas į lizdą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Awake</value>
|
<value>Pabudęs</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Timeout plugged / on battery (0 - ON)</value>
|
<value>Laiko riba su lizdu / akumuliatoriumi (0 – ĮJUNGTA)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Balanced</value>
|
<value>Balansuotas</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Įkrova</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Battery Charge Limit</value>
|
<value>Įkrovos riba</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Sveikata</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Vienkartinė įkrova iki 100%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>BIOS ir tvarkyklių naujinimai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Boot</value>
|
<value>Paleidimas</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Paleidimo garsas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Brightness</value>
|
<value>Ryškumas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessDown" xml:space="preserve">
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
<value>Brightness Down</value>
|
<value>Ryškumo mažinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Ryškumo didinimas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibruoti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Įkrovimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Color</value>
|
<value>Spalva</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU Boost</value>
|
<value>CPU spartinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Custom</value>
|
<value>Tinkintas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Lėtėjimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Default</value>
|
<value>Numatytas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Disable screen overdrive</value>
|
<value>Išjungti ekrano pikselių spartinimą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Discharging" xml:space="preserve">
|
<data name="Discharging" xml:space="preserve">
|
||||||
<value>Discharging</value>
|
<value>Iškrovimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Download Update</value>
|
<value>Atsisiųsti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Tvarkyklės ir programinė įranga</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Disables dGPU to save battery</value>
|
<value>Išjungia dGPU, kad taupytų energiją</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoMode" xml:space="preserve">
|
<data name="EcoMode" xml:space="preserve">
|
||||||
<value>Eco</value>
|
<value>Ekonomiškas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot.
|
<value>Jei ekrano režimas NVIDIA valdymo skyde yra nenustatytas į Optimus, kai dGPU yra išjungtas perjungus į ekonominį režimą, gali kilti problemų su ryškumo valdymu iki kito paleidimo iš naujo.
|
||||||
|
|
||||||
Do you still want to continue?</value>
|
Vis tiek norite tęsti?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA ekrano režimas nenustatytas į Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energijos nustatymai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Išplėstiniai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ExtraSettings" xml:space="preserve">
|
<data name="ExtraSettings" xml:space="preserve">
|
||||||
<value>Extra Settings</value>
|
<value>Išplėstiniai nustatymai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FactoryDefaults" xml:space="preserve">
|
<data name="FactoryDefaults" xml:space="preserve">
|
||||||
<value>Factory Defaults</value>
|
<value>Numatytieji</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanCurves" xml:space="preserve">
|
<data name="FanCurves" xml:space="preserve">
|
||||||
<value>Fan Curves</value>
|
<value>Aušintuvų kreivės</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileCPU" xml:space="preserve">
|
<data name="FanProfileCPU" xml:space="preserve">
|
||||||
<value>CPU Fan Profile</value>
|
<value>CPU aušintuvo profilis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileGPU" xml:space="preserve">
|
<data name="FanProfileGPU" xml:space="preserve">
|
||||||
<value>GPU Fan Profile</value>
|
<value>GPU aušintuvo profilis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileMid" xml:space="preserve">
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
<value>Mid Fan Profile</value>
|
<value>Vidurinio aušintuvo profilis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfiles" xml:space="preserve">
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
<value>Fan Profiles</value>
|
<value>Aušintuvų profiliai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansAndPower" xml:space="preserve">
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
<value>Fans and Power</value>
|
<value>Aušintuvai ir galia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Fan</value>
|
<value>Aušintuvas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Fans + Power</value>
|
<value>Aušintuvai + galia</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>Process Fn+F hotkeys without Fn</value>
|
<value>Apdoroti Fn+F sparčiuosius klavišus be Fn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dinaminis spartinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>Changing</value>
|
<value>Keičiamas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
<value>Core Clock Offset</value>
|
<value>Branduolių taktų poslinkis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||||
<value>Memory Clock Offset</value>
|
<value>Atminties taktų poslinkis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUMode" xml:space="preserve">
|
<data name="GPUMode" xml:space="preserve">
|
||||||
<value>GPU Mode</value>
|
<value>GPU režimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeEco" xml:space="preserve">
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
<value>iGPU only</value>
|
<value>Tik iGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeStandard" xml:space="preserve">
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
<value>iGPU + dGPU</value>
|
<value>iGPU + dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeUltimate" xml:space="preserve">
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
<value>dGPU exclusive</value>
|
<value>Tik dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUSettings" xml:space="preserve">
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
<value>GPU Settings</value>
|
<value>GPU nustatymai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperature Target</value>
|
<value>Temperatūros tikslas</value>
|
||||||
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutės iki miego su akumuliatoriumi (0 – IŠJUNGTA)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Aukštas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Key Bindings</value>
|
<value>Klavišų priskyrimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Keyboard" xml:space="preserve">
|
<data name="Keyboard" xml:space="preserve">
|
||||||
<value>Keyboard</value>
|
<value>Klaviatūra</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>Stop all apps using GPU when switching to Eco</value>
|
<value>Sustabdyti visas GPU naudojančias programėles, kai perjungiama į ekonomišką režimą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Laptop Backlight</value>
|
<value>Apšvietimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Laptop Keyboard</value>
|
<value>Klaviatūra</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopScreen" xml:space="preserve">
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
<value>Laptop Screen</value>
|
<value>Ekranas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Lid</value>
|
<value>Dangtis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Šviesos juosta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Apšvietimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logotipas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Žemas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualizer</value>
|
<value>Garso vizualizatorius</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Binary Banner</value>
|
<value>Dvejetainė vėliava</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBright" xml:space="preserve">
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
<value>Bright</value>
|
<value>Šviesi</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixClock" xml:space="preserve">
|
<data name="MatrixClock" xml:space="preserve">
|
||||||
<value>Clock</value>
|
<value>Laikrodis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixDim" xml:space="preserve">
|
<data name="MatrixDim" xml:space="preserve">
|
||||||
<value>Dim</value>
|
<value>Temdymas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixLogo" xml:space="preserve">
|
<data name="MatrixLogo" xml:space="preserve">
|
||||||
<value>Rog Logo</value>
|
<value>Rog logotipas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixMedium" xml:space="preserve">
|
<data name="MatrixMedium" xml:space="preserve">
|
||||||
<value>Medium</value>
|
<value>Vidutinis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixOff" xml:space="preserve">
|
<data name="MatrixOff" xml:space="preserve">
|
||||||
<value>Off</value>
|
<value>Išjungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixPicture" xml:space="preserve">
|
<data name="MatrixPicture" xml:space="preserve">
|
||||||
<value>Picture</value>
|
<value>Paveikslėlis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
<value>Max refresh rate for lower latency</value>
|
<value>Maksimalus kadrų dažnis už mažesnę delsą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz refresh rate to save battery</value>
|
<value>60Hz kadrų dažnis, kad taupytumėte energiją</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>min.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>min.</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Automatiškai išjungti po</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Klavišo atsakas</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Pakilimo atstumas</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Senkančio akumuliatoriaus įspėjimas</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Našumas</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Sinchronizuoti su pele</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizone</value>
|
<value>Daugiazonis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mute Mic</value>
|
<value>Mikrofono nutildymas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Niekada</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>Naujinimai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>Nėra naujinimų</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Neprijungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Open G-Helper window</value>
|
<value>Atidaryti G-Helper langą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Optimized" xml:space="preserve">
|
<data name="Optimized" xml:space="preserve">
|
||||||
<value>Optimized</value>
|
<value>Optimizuotas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Switch to Eco on battery and to Standard when plugged</value>
|
<value>Perjungti į ekonomišką, kai naudojamas akumuliatorius, ir į standartinį, kai įjungtas į lizdą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>Keep GPU disabled on USB-C charger in Optimized mode</value>
|
<value>Neįjungti GPU, kai naudojamas USB-C įkroviklis optimizuotame režime</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Other</value>
|
<value>Kita</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Overdrive" xml:space="preserve">
|
<data name="Overdrive" xml:space="preserve">
|
||||||
<value>Overdrive</value>
|
<value>Pikselių spartinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Mode</value>
|
<value>Režimas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Išoriniai įrenginiai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Picture / Gif</value>
|
<value>Paveikslėlis / GIF</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Play / Pause</value>
|
<value>Paleisti / Pristabdyti</value>
|
||||||
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Iškvietų dažnis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Power Limits</value>
|
<value>Galios ribos</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PPTExperimental" xml:space="preserve">
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
<value>Power Limits is an experimental feature. Use carefully and at your own risk!</value>
|
<value>Galios ribos yra eksperimentinė funkcija. Naudokitės atsargiai!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>Ekrano kopija</value>
|
||||||
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profilis</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Quit</value>
|
<value>Išeiti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Something is using dGPU and preventing Eco mode. Restart dGPU in device manager? * Please proceed at your own risk.</value>
|
<value>Kažkas naudoja dGPU ir neleidžia įjungti ekonomiško režimo. Norite leisti G-Helper bandyti iš naujo paleisti dGPU įrenginių tvarkytuvėje? (Tęskite savo rizika)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RunOnStartup" xml:space="preserve">
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
<value>Run on Startup</value>
|
<value>Paleisti įjungus sistemą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Ekrano skydelio ryškumo mažinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Ekrano skydelio ryškumo didinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Shutdown</value>
|
<value>Išjungimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Silent" xml:space="preserve">
|
<data name="Silent" xml:space="preserve">
|
||||||
<value>Silent</value>
|
<value>Tylus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Sleep" xml:space="preserve">
|
<data name="Sleep" xml:space="preserve">
|
||||||
<value>Sleep</value>
|
<value>Miegas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
<value>Enables dGPU for standard use</value>
|
<value>Įjungia dGPU įprastam naudojimui</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardMode" xml:space="preserve">
|
<data name="StandardMode" xml:space="preserve">
|
||||||
<value>Standard</value>
|
<value>Įprastas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Start" xml:space="preserve">
|
<data name="Start" xml:space="preserve">
|
||||||
<value>Start</value>
|
<value>Paleisti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartingServices" xml:space="preserve">
|
<data name="StartingServices" xml:space="preserve">
|
||||||
<value>Starting Services</value>
|
<value>Paleidžiamos tarnybos</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartupError" xml:space="preserve">
|
<data name="StartupError" xml:space="preserve">
|
||||||
<value>Startup Error</value>
|
<value>Paleidimo klaida</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Stop" xml:space="preserve">
|
<data name="Stop" xml:space="preserve">
|
||||||
<value>Stop</value>
|
<value>Stabdyti</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StopGPUApps" xml:space="preserve">
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
<value>Stop GPU Applications</value>
|
<value>Stabdyti GPU programėles</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StoppingServices" xml:space="preserve">
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
<value>Stopping Services</value>
|
<value>Stabdomos tarnybos</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Toggle Aura</value>
|
<value>Perjungti Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Automatiškai perjungti Clamshell režimą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Toggle Fn-Lock</value>
|
<value>Perjungti Fn-Lock</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Toggle Miniled (if supported)</value>
|
<value>Perjungti Miniled (jei palaikoma)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>Toggle Screen</value>
|
<value>Perjungti ekraną</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnedOff" xml:space="preserve">
|
<data name="TurnedOff" xml:space="preserve">
|
||||||
<value>Turned off</value>
|
<value>Išjungta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
<value>Turn off on battery</value>
|
<value>Išjungti naudojant akumuliatorių</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
<value>Nukreipia ekraną į dGPU, kad maksimizuotų kadrų dažnį</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Ultimate</value>
|
<value>Maksimalus</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
<value>Įtampos mažinimas yra eksperimentinė ir pavojinga funkcija. Jei pritaikytos reikšmės yra per mažos jūsų aparatinei įrangai, ji gali tapti nestabili, išsijungti arba pažeisti duomenų vientisumą. Jei norite pabandyti, iš pirmo pradėkite nuo mažų reikšmių, spustelėkite „Taikyti“ ir išbandykite, kas jums tinka.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Naujinimai</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Version</value>
|
<value>Versija</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Volume Down</value>
|
<value>Garsumo mažinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeMute" xml:space="preserve">
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
<value>Volume Mute</value>
|
<value>Garsumo nutildymas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeUp" xml:space="preserve">
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
<value>Volume Up</value>
|
<value>Garsumo didinimas</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="WindowTop" xml:space="preserve">
|
<data name="WindowTop" xml:space="preserve">
|
||||||
<value>Keep app window always on top</value>
|
<value>Visada rodyti programėlės langą viršuje</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Przyśpieszenie</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Nie można odnaleźć sterownika ASUS ACPI. Aplikacja nie może bez niego funkcjonować. Spróbuj zainstalować Asus System Control Interface</value>
|
<value>Nie można odnaleźć sterownika ASUS ACPI. Aplikacja nie może bez niego funkcjonować. Spróbuj zainstalować Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Uruchomione usługi Asus</value>
|
<value>Uruchomione usługi Asus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Stan baterii</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Oddychanie</value>
|
<value>Oddychanie</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>W prawo</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Pętla kolorów</value>
|
<value>Pętla kolorów</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Kometa</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>W lewo</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Szybka</value>
|
<value>Szybka</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Tryb oświetlenia</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normalna</value>
|
<value>Normalna</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Tęcza</value>
|
<value>Tęcza</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Losowo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Tryb reaktywny</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Powolna</value>
|
<value>Powolna</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Stroboskop</value>
|
<value>Stroboskop</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Wszystko</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Rolka</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Dolna poświata</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Zastosuj automatycznie</value>
|
<value>Zastosuj automatycznie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -196,7 +235,7 @@
|
|||||||
<value>Automatycznie ustaw odświeżanie 60 Hz w czasie pracy na baterii</value>
|
<value>Automatycznie ustaw odświeżanie 60 Hz w czasie pracy na baterii</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Aktywność</value>
|
<value>Włączone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Limit czasu podłączonego / na baterii (0 - Włączony)</value>
|
<value>Limit czasu podłączonego / na baterii (0 - Włączony)</value>
|
||||||
@@ -204,14 +243,26 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Balans</value>
|
<value>Balans</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Naładowanie</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Limit ładowania baterii</value>
|
<value>Limit ładowania baterii</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Stan baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Jednorazowo naładuj do 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>Aktualizacje BIOS i sterowników</value>
|
<value>Aktualizacje BIOS i sterowników</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Podczas uruchamiania</value>
|
<value>Uruchamianie</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Dźwięk podczas rozruchu</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Jasność</value>
|
<value>Jasność</value>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Zwiększ jasność</value>
|
<value>Zwiększ jasność</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibruj</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Ładowanie</value>
|
<value>Ładowanie</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Niestandardowy</value>
|
<value>Niestandardowy</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Spowolnienie</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Domyślny</value>
|
<value>Domyślny</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Zużycie mocy</value>
|
<value>Zużycie mocy</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Pobierz aktualizację</value>
|
<value>Pobierz</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Sterowniki i oprogramowanie</value>
|
<value>Sterowniki i oprogramowanie</value>
|
||||||
@@ -263,6 +320,9 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>Tryb wyświetlania NVIDIA nie jest ustawiony na Optimus</value>
|
<value>Tryb wyświetlania NVIDIA nie jest ustawiony na Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Ustawienia zasilania</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Ustawienia</value>
|
<value>Ustawienia</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -291,7 +351,7 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<value>Wentylatory i moc</value>
|
<value>Wentylatory i moc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Wentylator</value>
|
<value>Went</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Dostosuj</value>
|
<value>Dostosuj</value>
|
||||||
@@ -329,6 +389,12 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperatura docelowa</value>
|
<value>Temperatura docelowa</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Czas przejścia w hibernację na baterii (0 - wcale)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Wysoka</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Ustawienia klawiszy skrótów</value>
|
<value>Ustawienia klawiszy skrótów</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Lightbar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Oświetlenie</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Niska</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Wizualizer muzyki</value>
|
<value>Wizualizer muzyki</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Częstotliwość odświeżania 60 Hz dla oszczędzania baterii</value>
|
<value>Częstotliwość odświeżania 60 Hz dla oszczędzania baterii</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>min.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>min.</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Korekcja kąta ruchu</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Przejście w tryb uśpienia po</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Reakcja przycisków</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Wysokość reakcji sensora</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Ostrzeżenie o niskim poziomie baterii</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Wydajność</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchronizuj z myszką</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizone</value>
|
<value>Multizone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Wyciszenie mikrofonu</value>
|
<value>Wyciszenie mikrofonu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Nigdy</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Nowe aktualizacje</value>
|
<value>Nowe aktualizacje</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Brak aktualizacji</value>
|
<value>Brak aktualizacji</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Nie połączono</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Otwórz okno G-Helper</value>
|
<value>Otwórz okno G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Tryb zasilania</value>
|
<value>Tryb zasilania</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Urządzenia peryferyjne</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Obraz / GIF</value>
|
<value>Obraz / GIF</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Odtwórz / Pauza</value>
|
<value>Odtwórz / Pauza</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Częstotliwość raportowania</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Limit mocy</value>
|
<value>Limit mocy</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,17 +548,20 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Zrzut ekranu</value>
|
<value>Zrzut ekranu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Zamknij</value>
|
<value>Zamknij</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Coś korzysta z dedykowanego GPU i uniemożliwia włączenie trybu Eco. Zresetować dedykowany GPU w Menadżerze Urządzeń? * Używaj na własną odpowiedzialność</value>
|
<value>Coś korzysta z dGPU, uniemożliwiając włączenie trybu Eco. Czy G-Helper ma zresetować dGPU w Menadżerze Urządzeń? (Korzystasz na własne ryzyko)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RunOnStartup" xml:space="preserve">
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
<value>Uruchom przy starcie systemu</value>
|
<value>Uruchom przy starcie</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Zmniejsz jasność ScreenPad</value>
|
<value>Zmniejsz jasność ScreenPad</value>
|
||||||
@@ -492,7 +606,7 @@ Nadal chcesz kontynuować?</value>
|
|||||||
<value>Przełącz Aura</value>
|
<value>Przełącz Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Automatyczny tryb pracy z zamkniętą pokrywą</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Przełącz Fn-Lock</value>
|
<value>Przełącz Fn-Lock</value>
|
||||||
|
|||||||
@@ -117,8 +117,11 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Aceleração</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Não foi possível conectar ao ASUS ACPI. O applicativo não pode funcionar sem isso. Tente instalar Asus System Controle Interface</value>
|
<value>Não foi possível conectar ao ASUS ACPI. O aplicativo não pode funcionar sem isso. Tente instalar Asus System Controle Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Parece que o GPU está em uso pesado.</value>
|
<value>Parece que o GPU está em uso pesado.</value>
|
||||||
@@ -148,7 +151,7 @@
|
|||||||
<value>G-Helper já está em execução. Verifique a barra de sistema</value>
|
<value>G-Helper já está em execução. Verifique a barra de sistema</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Apply" xml:space="preserve">
|
<data name="Apply" xml:space="preserve">
|
||||||
<value>Apply</value>
|
<value>Aplicar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Aplicar a curva personalizada</value>
|
<value>Aplicar a curva personalizada</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Serviços da Asus em execução</value>
|
<value>Serviços da Asus em execução</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Battery State</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Repiração</value>
|
<value>Repiração</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Sentido horário</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Ciclo de cores</value>
|
<value>Ciclo de cores</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Comet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Sentido anti-horário</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Rápido</value>
|
<value>Rápido</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Lighting Mode</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Arco-íris</value>
|
<value>Arco-íris</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Aleatório</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>React</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Lento</value>
|
<value>Lento</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,8 +210,23 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Estroboscópio</value>
|
<value>Estroboscópio</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Tudo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Scrollwheel</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Aplicar automaticamente</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoMode" xml:space="preserve">
|
<data name="AutoMode" xml:space="preserve">
|
||||||
<value>Automático</value>
|
<value>Automático</value>
|
||||||
@@ -204,15 +243,27 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Equilibrado</value>
|
<value>Equilibrado</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Charge</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Limite de carga</value>
|
<value>Limite de carga</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Saúde da bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>BIOS and Driver Updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Ao ligar</value>
|
<value>Ao ligar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Som de inicialização</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Nível do brilho</value>
|
<value>Nível do brilho</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Brightness Up</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Charging</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Personalizado</value>
|
<value>Personalizado</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Desaceleração</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Padrão</value>
|
<value>Padrão</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Descarregando</value>
|
<value>Descarregando</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Baixar a atualização</value>
|
<value>Baixar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Drivers and Software</value>
|
||||||
@@ -263,6 +320,9 @@ Do you still want to continue?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA Display Mode is not set to Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energy Settings</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Adicional</value>
|
<value>Adicional</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@ Do you still want to continue?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Alvo de temperatura</value>
|
<value>Alvo de temperatura</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>High</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Combinações de teclas</value>
|
<value>Combinações de teclas</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Lightbar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Lighting</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Low</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualizer</value>
|
<value>Audio Visualizer</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Taxa de atualização à 60Hz para economizar bateria</value>
|
<value>Taxa de atualização à 60Hz para economizar bateria</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutes</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto Power Off After</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Low Battery Warning at</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchronize with mouse</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizona</value>
|
<value>Multizona</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Desligar microfone</value>
|
<value>Desligar microfone</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Never</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>New updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>No new updates</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Not Connected</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Abrir G-Helper</value>
|
<value>Abrir G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Modo</value>
|
<value>Modo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Peripherals</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Imagem / Gif</value>
|
<value>Imagem / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Reproduzir / Pausar</value>
|
<value>Reproduzir / Pausar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Limitações de Energia</value>
|
<value>Limitações de Energia</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Captura de tela</value>
|
<value>Captura de tela</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profile</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Sair</value>
|
<value>Sair</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Algum processo está usando o dGPU e impedindo o modo Econômico. Reinicialize o dGPU no gerenciador de dispositivos. Por favor, proceda por sua conta e risco. </value>
|
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
656
app/Properties/Strings.pt-PT.resx
Normal file
@@ -0,0 +1,656 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="type" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string"/>
|
||||||
|
<xsd:attribute ref="xml:space"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string"/>
|
||||||
|
<xsd:attribute name="name" type="xsd:string"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
|
||||||
|
<xsd:attribute ref="xml:space"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Aceleração</value>
|
||||||
|
</data>
|
||||||
|
<data name="ACPIError" xml:space="preserve">
|
||||||
|
<value>Não foi possível conectar ao ASUS ACPI. O programa não funciona sem esse serviço. Tente instalar Asus System Control Interface</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
|
<value>Parece que o GPU está em uso pesado, desativá-lo?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertDGPUTitle" xml:space="preserve">
|
||||||
|
<value>Modo económico</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOff" xml:space="preserve">
|
||||||
|
<value>Passar ao Modo Ultimate implica o reinício do sistema</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateOn" xml:space="preserve">
|
||||||
|
<value>Modo Ultimate implica o reinício do sistema</value>
|
||||||
|
</data>
|
||||||
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
|
<value>Reiniciar agora?</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
|
<value>Velocidade da Animação</value>
|
||||||
|
</data>
|
||||||
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
|
<value>AniMe Matrix</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
|
<value>O programa já está em execução</value>
|
||||||
|
</data>
|
||||||
|
<data name="AppAlreadyRunningText" xml:space="preserve">
|
||||||
|
<value>G-Helper já está em execução. Verifique o tabuleiro do sistema pelo ícone.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Apply" xml:space="preserve">
|
||||||
|
<value>Aplicar</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
|
<value>Aplicar a curva personalizada</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
|
<value>Aplicar as limitações de energia</value>
|
||||||
|
</data>
|
||||||
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
|
<value>Ajuste automático dos modos de energia do Windows</value>
|
||||||
|
</data>
|
||||||
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
|
<value>Serviços da Asus em execução</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Estado da bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
|
<value>Respiração</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>No sentido horário</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
|
<value>Ciclo de cores</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Cometa</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>No sentido anti-horário</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraFast" xml:space="preserve">
|
||||||
|
<value>Rápido</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Modo de iluminação</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
|
<value>Normal</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
|
<value>Arco-íris</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Aleatório</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reagir</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
|
<value>Lento</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
|
<value>Estático</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
|
<value>Estroboscópio</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Todos</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Roda de Deslocamento</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoApply" xml:space="preserve">
|
||||||
|
<value>Aplicar automaticamente</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoMode" xml:space="preserve">
|
||||||
|
<value>Automático</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Define a taxa de atualização automaticamente para poupar bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="Awake" xml:space="preserve">
|
||||||
|
<value>Acordado</value>
|
||||||
|
</data>
|
||||||
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
|
<value>Tempo limite ligado à corrente / na bateria (0 - ON)</value>
|
||||||
|
</data>
|
||||||
|
<data name="Balanced" xml:space="preserve">
|
||||||
|
<value>Equilibrado</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Carga</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
|
<value>Limite de carga</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Estado da bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
|
<value>Atualizações de Drivers e da BIOS</value>
|
||||||
|
</data>
|
||||||
|
<data name="Boot" xml:space="preserve">
|
||||||
|
<value>Ao ligar</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
|
</data>
|
||||||
|
<data name="Brightness" xml:space="preserve">
|
||||||
|
<value>Nível do brilho</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
|
<value>Diminuir o brilho</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
|
<value>Aumentar o brilho</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
|
<data name="Charging" xml:space="preserve">
|
||||||
|
<value>Carregando</value>
|
||||||
|
</data>
|
||||||
|
<data name="Color" xml:space="preserve">
|
||||||
|
<value>Cor</value>
|
||||||
|
</data>
|
||||||
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
|
<value>Turbo do CPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="Custom" xml:space="preserve">
|
||||||
|
<value>Personalizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Desaceleração</value>
|
||||||
|
</data>
|
||||||
|
<data name="Default" xml:space="preserve">
|
||||||
|
<value>Padrão</value>
|
||||||
|
</data>
|
||||||
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
|
<value>Desativar o overdrive do ecrã</value>
|
||||||
|
</data>
|
||||||
|
<data name="Discharging" xml:space="preserve">
|
||||||
|
<value>Descarregando</value>
|
||||||
|
</data>
|
||||||
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
|
<value>Transferir</value>
|
||||||
|
</data>
|
||||||
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
|
<value>Drivers e Software</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Desativar o dGPU para poupar energia</value>
|
||||||
|
</data>
|
||||||
|
<data name="EcoMode" xml:space="preserve">
|
||||||
|
<value>Económico</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
|
<value>Desativar a dGPU por ativar o modo Eco enquanto o Modo de Ecrã no Painel de Controlo da NVIDIA não está definido para Optimus pode causar problemas com os controlos do brilho do painel até ao próximo reinício.
|
||||||
|
|
||||||
|
Quer prosseguir?</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
|
<value>O Modo de Ecrã da NVIDIA não está definido para Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Configurações de Energia</value>
|
||||||
|
</data>
|
||||||
|
<data name="Extra" xml:space="preserve">
|
||||||
|
<value>Adicional</value>
|
||||||
|
</data>
|
||||||
|
<data name="ExtraSettings" xml:space="preserve">
|
||||||
|
<value>Configurações adicionais</value>
|
||||||
|
</data>
|
||||||
|
<data name="FactoryDefaults" xml:space="preserve">
|
||||||
|
<value>Padrão de fábrica</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanCurves" xml:space="preserve">
|
||||||
|
<value>Curvas das Ventoinhas</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileCPU" xml:space="preserve">
|
||||||
|
<value>Perfil da Ventoinha do CPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileGPU" xml:space="preserve">
|
||||||
|
<value>Perfil da Ventoinha da GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
|
<value>Perfil da Ventoinha Central</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
|
<value>Perfis das Ventoinhas</value>
|
||||||
|
</data>
|
||||||
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
|
<value>Ventoinhas e Potência</value>
|
||||||
|
</data>
|
||||||
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
|
<value>Fan</value>
|
||||||
|
</data>
|
||||||
|
<data name="FansPower" xml:space="preserve">
|
||||||
|
<value>Ventoinhas + Potência</value>
|
||||||
|
</data>
|
||||||
|
<data name="FnLock" xml:space="preserve">
|
||||||
|
<value>Processar teclas de atalho Fn+F sem pressionar Fn</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
|
<value>Boost dinâmico</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
|
<value>Carregando</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
|
<value>Frequência da GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||||
|
<value>Frequência da Memória</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUMode" xml:space="preserve">
|
||||||
|
<value>Modo da GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
|
<value>Só iGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
|
<value>iGPU + dGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
|
<value>Exclusivamente dGPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
|
<value>Parâmetros de GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
|
<value>Temperatura limite</value>
|
||||||
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutos para a hibernação em suspensão, na bateria (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Alto</value>
|
||||||
|
</data>
|
||||||
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
|
<value>Combinações de teclas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Keyboard" xml:space="preserve">
|
||||||
|
<value>Teclado</value>
|
||||||
|
</data>
|
||||||
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
|
<value>Parar todos os programas que usam a GPU ao alternar para o modo Eco</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
|
<value>Configurações de iluminação</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
|
<value>Teclado</value>
|
||||||
|
</data>
|
||||||
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
|
<value>Ecrã</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lid" xml:space="preserve">
|
||||||
|
<value>Tampa</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lightbar" xml:space="preserve">
|
||||||
|
<value>Barra de Luz</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Iluminação</value>
|
||||||
|
</data>
|
||||||
|
<data name="Logo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Baixo</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
|
<value>Visualizador de áudio</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
|
<value>Bandeira Binária</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
|
<value>Brilho</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixClock" xml:space="preserve">
|
||||||
|
<value>Relógio</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixDim" xml:space="preserve">
|
||||||
|
<value>Escuro</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixLogo" xml:space="preserve">
|
||||||
|
<value>Logo ROG</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixMedium" xml:space="preserve">
|
||||||
|
<value>Médio</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixOff" xml:space="preserve">
|
||||||
|
<value>Desligado</value>
|
||||||
|
</data>
|
||||||
|
<data name="MatrixPicture" xml:space="preserve">
|
||||||
|
<value>Imagem</value>
|
||||||
|
</data>
|
||||||
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Taxa de atualização máxima e menor latência</value>
|
||||||
|
</data>
|
||||||
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
|
<value>Taxa de atualização de 60Hz para poupar bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minuto</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutos</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Desligar automaticamente após</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Distância de Lift Off</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Aviso de bateria fraca</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Desempenho do rato</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Sincronizar com o rato</value>
|
||||||
|
</data>
|
||||||
|
<data name="Multizone" xml:space="preserve">
|
||||||
|
<value>Multizona</value>
|
||||||
|
</data>
|
||||||
|
<data name="MuteMic" xml:space="preserve">
|
||||||
|
<value>Desligar microfone</value>
|
||||||
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Nunca</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
|
<value>Novas atualizações</value>
|
||||||
|
</data>
|
||||||
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
|
<value>Sem novas atualizações</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Não conectado</value>
|
||||||
|
</data>
|
||||||
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
|
<value>Abrir G-Helper</value>
|
||||||
|
</data>
|
||||||
|
<data name="Optimized" xml:space="preserve">
|
||||||
|
<value>Otimizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Mudar para Eco em bateria, e mudar para Standard quando ligado à corrente</value>
|
||||||
|
</data>
|
||||||
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
|
<value>Manter a GPU desativada ao usar um carregador USB-C no modo Otimizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="Other" xml:space="preserve">
|
||||||
|
<value>Outro</value>
|
||||||
|
</data>
|
||||||
|
<data name="Overdrive" xml:space="preserve">
|
||||||
|
<value>Overdrive</value>
|
||||||
|
</data>
|
||||||
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
|
<value>Modo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Periféricos</value>
|
||||||
|
</data>
|
||||||
|
<data name="PictureGif" xml:space="preserve">
|
||||||
|
<value>Imagem / Gif</value>
|
||||||
|
</data>
|
||||||
|
<data name="PlayPause" xml:space="preserve">
|
||||||
|
<value>Reproduzir / Pausar</value>
|
||||||
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
|
<value>Limites de Potência</value>
|
||||||
|
</data>
|
||||||
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
|
<value>Os Limites de Potência são uma funcionalidade experimental. Use com cuidado!</value>
|
||||||
|
</data>
|
||||||
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
|
<value>Captura de ecrã</value>
|
||||||
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="Quit" xml:space="preserve">
|
||||||
|
<value>Sair</value>
|
||||||
|
</data>
|
||||||
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
|
<value>Algum processo está a utilizar a dGPU, impedindo o modo Eco. Deixar o G-Helper tentar reiniciar a dGPU no gestor de dispositivos? (Proceda por sua conta e risco)</value>
|
||||||
|
</data>
|
||||||
|
<data name="RPM" xml:space="preserve">
|
||||||
|
<value>RPM</value>
|
||||||
|
</data>
|
||||||
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
|
<value>Executar ao iniciar</value>
|
||||||
|
</data>
|
||||||
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
|
<value>Diminuir o brilho do ScreenPad</value>
|
||||||
|
</data>
|
||||||
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
|
<value>Aumentar o brilho do ScreenPad</value>
|
||||||
|
</data>
|
||||||
|
<data name="Shutdown" xml:space="preserve">
|
||||||
|
<value>Desligar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Silent" xml:space="preserve">
|
||||||
|
<value>Silencioso</value>
|
||||||
|
</data>
|
||||||
|
<data name="Sleep" xml:space="preserve">
|
||||||
|
<value>Hibernação</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
|
<value>Liga o dGPU para uso padrão</value>
|
||||||
|
</data>
|
||||||
|
<data name="StandardMode" xml:space="preserve">
|
||||||
|
<value>Padrão</value>
|
||||||
|
</data>
|
||||||
|
<data name="Start" xml:space="preserve">
|
||||||
|
<value>Iniciar</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartingServices" xml:space="preserve">
|
||||||
|
<value>Iniciando os serviços</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartupError" xml:space="preserve">
|
||||||
|
<value>Erro de inicialização</value>
|
||||||
|
</data>
|
||||||
|
<data name="Stop" xml:space="preserve">
|
||||||
|
<value>Parar</value>
|
||||||
|
</data>
|
||||||
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
|
<value>Parar programas que usem a GPU</value>
|
||||||
|
</data>
|
||||||
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
|
<value>Parando os serviços</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
|
<value>Alternar Aura</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
|
<value>Alternar automaticamente o Modo Clamshell</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
|
<value>Alternar Fn-Lock</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
|
<value>Alternar MiniLED (se suportado)</value>
|
||||||
|
</data>
|
||||||
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
|
<value>Alternar Ecrã</value>
|
||||||
|
</data>
|
||||||
|
<data name="Turbo" xml:space="preserve">
|
||||||
|
<value>Turbo</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnedOff" xml:space="preserve">
|
||||||
|
<value>Desligado</value>
|
||||||
|
</data>
|
||||||
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
|
<value>Desligar em bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
|
<value>O ecrã do portátil está ligado diretamente à dGPU, maximizando FPS</value>
|
||||||
|
</data>
|
||||||
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
|
<value>Ultimate</value>
|
||||||
|
</data>
|
||||||
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
|
<value>Undervolting é uma funcionalidade experimental e arriscada. Se os valores aplicados foram baixos para o hardware, podem existir instabilidades, desligar e causar corrupção de dados. Caso queira, comece por valores pequenos no início, clique em Aplicar e teste o que funciona para o hardware.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Updates" xml:space="preserve">
|
||||||
|
<value>Atualizações</value>
|
||||||
|
</data>
|
||||||
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
|
<value>Versão</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
|
<value>Diminuir o volume</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
|
<value>Sem som</value>
|
||||||
|
</data>
|
||||||
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
|
<value>Aumentar o volume</value>
|
||||||
|
</data>
|
||||||
|
<data name="WindowTop" xml:space="preserve">
|
||||||
|
<value>Manter a janela do aplicativo sempre no topo</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Acceleration</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface</value>
|
<value>Can't connect to ASUS ACPI. Application can't function without it. Try to install Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus Services Running</value>
|
<value>Asus Services Running</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Battery State</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Breathe</value>
|
<value>Breathe</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Clockwise</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Color Cycle</value>
|
<value>Color Cycle</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Comet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Counterclockwise</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Fast</value>
|
<value>Fast</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Lighting Mode</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Rainbow</value>
|
<value>Rainbow</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Random</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>React</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Slow</value>
|
<value>Slow</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Strobe</value>
|
<value>Strobe</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>All</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Scrollwheel</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Auto Apply</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -204,15 +243,27 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Balanced</value>
|
<value>Balanced</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Charge</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Battery Charge Limit</value>
|
<value>Battery Charge Limit</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Battery Health</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>BIOS and Driver Updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Boot</value>
|
<value>Boot</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Brightness</value>
|
<value>Brightness</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Brightness Up</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Charging</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Custom</value>
|
<value>Custom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Deceleration</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Default</value>
|
<value>Default</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Discharging</value>
|
<value>Discharging</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Download Update</value>
|
<value>Download</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Drivers and Software</value>
|
||||||
@@ -263,6 +320,9 @@ Do you still want to continue?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA Display Mode is not set to Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energy Settings</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@ Do you still want to continue?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperature Target</value>
|
<value>Temperature Target</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>High</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Key Bindings</value>
|
<value>Key Bindings</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Lightbar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Lighting</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Low</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualizer</value>
|
<value>Audio Visualizer</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz refresh rate to save battery</value>
|
<value>60Hz refresh rate to save battery</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutes</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto Power Off After</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Low Battery Warning at</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchronize with mouse</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizone</value>
|
<value>Multizone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mute Mic</value>
|
<value>Mute Mic</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Never</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>New updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>No new updates</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Not Connected</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Open G-Helper window</value>
|
<value>Open G-Helper window</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Mode</value>
|
<value>Mode</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Peripherals</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Picture / Gif</value>
|
<value>Picture / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Play / Pause</value>
|
<value>Play / Pause</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Power Limits</value>
|
<value>Power Limits</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>PrintScreen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profile</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Quit</value>
|
<value>Quit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Something is using dGPU and preventing Eco mode. Restart dGPU in device manager? * Please proceed at your own risk.</value>
|
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Acceleration</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Nu se poate conecta la ASUS ACPI. Aplicația nu poate funcționa fără aceasta. Încercați să instalați Asus System Control Interface</value>
|
<value>Nu se poate conecta la ASUS ACPI. Aplicația nu poate funcționa fără aceasta. Încercați să instalați Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -151,32 +154,53 @@
|
|||||||
<value>Aplică</value>
|
<value>Aplică</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Apply Custom Fan Curve</value>
|
<value>Aplicați curba personalizată</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>Aplică limitele de putere</value>
|
<value>Aplică limitele de putere</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
<data name="ApplyWindowsPowerPlan" xml:space="preserve">
|
||||||
<value>Auto adjust Windows Power Modes</value>
|
<value>Reglare automată a modului de alimentare Windows</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus Services Running</value>
|
<value>Servicii Asus în derulare</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Battery State</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Breathe</value>
|
<value>Respirație</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Clockwise</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Color Cycle</value>
|
<value>Ciclu de culori</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Comet</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Counterclockwise</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Rapid</value>
|
<value>Rapid</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Lighting Mode</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Curcubeu</value>
|
<value>Curcubeu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Random</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>React</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Încet</value>
|
<value>Încet</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -184,7 +208,22 @@
|
|||||||
<value>Static</value>
|
<value>Static</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Strobe</value>
|
<value>Stroboscop</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>All</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Scrollwheel</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Aplicare automată</value>
|
<value>Aplicare automată</value>
|
||||||
@@ -193,75 +232,96 @@
|
|||||||
<value>Automat</value>
|
<value>Automat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoRefreshTooltip" xml:space="preserve">
|
<data name="AutoRefreshTooltip" xml:space="preserve">
|
||||||
<value>Sets 60Hz to save battery, and back when plugged</value>
|
<value>Setează ecranul la 60Hz pentru a economisi bateria, și înapoi cât se încarcă</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Awake</value>
|
<value>Treaz</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Timeout plugged / on battery (0 - ON)</value>
|
<value>Timeout conectat / folosind bateria (0 - ON)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Echilibrat</value>
|
<value>Echilibrat</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Charge</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Battery Charge Limit</value>
|
<value>Limita de încărcare a bateriei</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Sănătatea bateriei</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>Actualizări BIOS și Driver</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Boot</value>
|
<value>Pornire</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Luminozitate</value>
|
<value>Luminozitate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessDown" xml:space="preserve">
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
<value>Brightness Down</value>
|
<value>Scăderea luminozității</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Mărirea luminozității</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Se încarcă</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Culoare</value>
|
<value>Culoare</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU Boost</value>
|
<value>Accelerare CPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Personalizat</value>
|
<value>Personalizat</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Deceleration</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Implicit</value>
|
<value>Implicit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DisableOverdrive" xml:space="preserve">
|
<data name="DisableOverdrive" xml:space="preserve">
|
||||||
<value>Disable screen overdrive</value>
|
<value>Dezactivează screen overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Discharging" xml:space="preserve">
|
<data name="Discharging" xml:space="preserve">
|
||||||
<value>Se descarcă</value>
|
<value>Se descarcă</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Descărcați actualizarea</value>
|
<value>Download</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Drivers și Aplicații</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Disables dGPU to save battery</value>
|
<value>Dezactivează dGPU pentru a economisi bateria</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoMode" xml:space="preserve">
|
<data name="EcoMode" xml:space="preserve">
|
||||||
<value>Eco</value>
|
<value>Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot.
|
<value>Dezactivarea dGPU pentru a utiliza modul Eco, în timp ce Display Mode în NVIDIA Control Panel nu este setat la modul Optimus, poate cauza probleme cu controalele de luminozitate până la următoarea repornire.
|
||||||
|
|
||||||
Do you still want to continue?</value>
|
Încă mai vrei să continui?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA Display Mode nu este setat la modul Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energy Settings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Extra</value>
|
<value>Extra</value>
|
||||||
@@ -273,37 +333,37 @@ Do you still want to continue?</value>
|
|||||||
<value>Setările implicite ale fabricii</value>
|
<value>Setările implicite ale fabricii</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanCurves" xml:space="preserve">
|
<data name="FanCurves" xml:space="preserve">
|
||||||
<value>Fan Curves</value>
|
<value>Curbe ventilator</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileCPU" xml:space="preserve">
|
<data name="FanProfileCPU" xml:space="preserve">
|
||||||
<value>CPU Fan Profile</value>
|
<value>Profil ventilator CPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileGPU" xml:space="preserve">
|
<data name="FanProfileGPU" xml:space="preserve">
|
||||||
<value>GPU Fan Profile</value>
|
<value>Profil ventilator GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileMid" xml:space="preserve">
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
<value>Mid Fan Profile</value>
|
<value>Profil mediu ventilator</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfiles" xml:space="preserve">
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
<value>Fan Profiles</value>
|
<value>Profiluri ventilatoare</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansAndPower" xml:space="preserve">
|
<data name="FansAndPower" xml:space="preserve">
|
||||||
<value>Fans and Power</value>
|
<value>Vent. și putere</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanSpeed" xml:space="preserve">
|
<data name="FanSpeed" xml:space="preserve">
|
||||||
<value>Fan</value>
|
<value>Vent</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>Fans + Power</value>
|
<value>Fans + Power</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>Process Fn+F hotkeys without Fn</value>
|
<value>Procesează tastele Fn+F fără Fn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUBoost" xml:space="preserve">
|
<data name="GPUBoost" xml:space="preserve">
|
||||||
<value>Dynamic Boost</value>
|
<value>Dynamic Boost</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUChanging" xml:space="preserve">
|
<data name="GPUChanging" xml:space="preserve">
|
||||||
<value>Changing</value>
|
<value>Modificare</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
<value>Core Clock Offset</value>
|
<value>Core Clock Offset</value>
|
||||||
@@ -312,40 +372,46 @@ Do you still want to continue?</value>
|
|||||||
<value>Memory Clock Offset</value>
|
<value>Memory Clock Offset</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUMode" xml:space="preserve">
|
<data name="GPUMode" xml:space="preserve">
|
||||||
<value>GPU Mode</value>
|
<value>Modul GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeEco" xml:space="preserve">
|
<data name="GPUModeEco" xml:space="preserve">
|
||||||
<value>iGPU only</value>
|
<value>Doar iGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeStandard" xml:space="preserve">
|
<data name="GPUModeStandard" xml:space="preserve">
|
||||||
<value>iGPU + dGPU</value>
|
<value>iGPU + dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUModeUltimate" xml:space="preserve">
|
<data name="GPUModeUltimate" xml:space="preserve">
|
||||||
<value>dGPU exclusive</value>
|
<value>exclusiv dGPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUSettings" xml:space="preserve">
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
<value>GPU Settings</value>
|
<value>Setări GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperature Target</value>
|
<value>Temperatura țintă</value>
|
||||||
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>High</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Key Bindings</value>
|
<value>Asocieri taste</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Keyboard" xml:space="preserve">
|
<data name="Keyboard" xml:space="preserve">
|
||||||
<value>Tastatură</value>
|
<value>Tastatură</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>Stop all apps using GPU when switching to Eco</value>
|
<value>Opriți toate aplicațiile care folosesc GPU când treceți în modul Eco</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Laptop Backlight</value>
|
<value>Lumina de fundal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Laptop Keyboard</value>
|
<value>Tastatură Laptop</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopScreen" xml:space="preserve">
|
<data name="LaptopScreen" xml:space="preserve">
|
||||||
<value>Laptop Screen</value>
|
<value>Ecran Laptop</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Lid</value>
|
<value>Lid</value>
|
||||||
@@ -353,17 +419,23 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Lightbar</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Lighting</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo-ul</value>
|
<value>Logo-ul</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Low</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualizer</value>
|
<value>Vizualizator audio</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Binary Banner</value>
|
<value>Binary Banner</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBright" xml:space="preserve">
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
<value>Bright</value>
|
<value>Luminos</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixClock" xml:space="preserve">
|
<data name="MatrixClock" xml:space="preserve">
|
||||||
<value>Ceas</value>
|
<value>Ceas</value>
|
||||||
@@ -378,22 +450,52 @@ Do you still want to continue?</value>
|
|||||||
<value>Mediu</value>
|
<value>Mediu</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixOff" xml:space="preserve">
|
<data name="MatrixOff" xml:space="preserve">
|
||||||
<value>Off</value>
|
<value>Oprit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixPicture" xml:space="preserve">
|
<data name="MatrixPicture" xml:space="preserve">
|
||||||
<value>Picture</value>
|
<value>Imagine</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MaxRefreshTooltip" xml:space="preserve">
|
<data name="MaxRefreshTooltip" xml:space="preserve">
|
||||||
<value>Max refresh rate for lower latency</value>
|
<value>Valoare maximă refresh rate pentru latență mai mică</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>60Hz refresh rate to save battery</value>
|
<value>60Hz refresh rate pentru a economisi bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutes</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto Power Off After</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Low Battery Warning at</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchronize with mouse</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Multizone</value>
|
<value>Multizone</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mute Mic</value>
|
<value>Oprire microfon</value>
|
||||||
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Never</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Actualizări noi</value>
|
<value>Actualizări noi</value>
|
||||||
@@ -401,71 +503,83 @@ Do you still want to continue?</value>
|
|||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Nu există actualizări noi</value>
|
<value>Nu există actualizări noi</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Not Connected</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Open G-Helper window</value>
|
<value>Deschide fereastra G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Optimized" xml:space="preserve">
|
<data name="Optimized" xml:space="preserve">
|
||||||
<value>Optimized</value>
|
<value>Optimizat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
<data name="OptimizedGPUTooltip" xml:space="preserve">
|
||||||
<value>Switch to Eco on battery and to Standard when plugged</value>
|
<value>Schimbă la modul Eco pe baterie și la Standard când este conectat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OptimizedUSBC" xml:space="preserve">
|
<data name="OptimizedUSBC" xml:space="preserve">
|
||||||
<value>Keep GPU disabled on USB-C charger in Optimized mode</value>
|
<value>Păstraţi GPU dezactivat când încărcătorul USB-C e folosit în modul Optimized</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Other" xml:space="preserve">
|
<data name="Other" xml:space="preserve">
|
||||||
<value>Other</value>
|
<value>Altele</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Overdrive" xml:space="preserve">
|
<data name="Overdrive" xml:space="preserve">
|
||||||
<value>Overdrive</value>
|
<value>Overdrive</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Mode</value>
|
<value>Mod</value>
|
||||||
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Peripherals</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Picture / Gif</value>
|
<value>Poză / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Play / Pause</value>
|
<value>Redare / Pauză</value>
|
||||||
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Power Limits</value>
|
<value>Limite de putere</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PPTExperimental" xml:space="preserve">
|
<data name="PPTExperimental" xml:space="preserve">
|
||||||
<value>Power Limits is an experimental feature. Use carefully and at your own risk!</value>
|
<value>Limitele de putere sunt o funcție experimentală. Folosiți cu atenție și pe propriul risc!</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>PrintScreen</value>
|
<value>PrintScreen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profile</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Quit</value>
|
<value>Închide</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Something is using dGPU and preventing Eco mode. Restart dGPU in device manager? * Please proceed at your own risk.</value>
|
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RunOnStartup" xml:space="preserve">
|
<data name="RunOnStartup" xml:space="preserve">
|
||||||
<value>Run on Startup</value>
|
<value>Rulează la pornirea sistemului</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Scade luminozitate Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Mărește luminozitate Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Shutdown</value>
|
<value>Oprire</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Silent" xml:space="preserve">
|
<data name="Silent" xml:space="preserve">
|
||||||
<value>Silent</value>
|
<value>Silențios</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Sleep" xml:space="preserve">
|
<data name="Sleep" xml:space="preserve">
|
||||||
<value>Sleep</value>
|
<value>Somn</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardGPUTooltip" xml:space="preserve">
|
<data name="StandardGPUTooltip" xml:space="preserve">
|
||||||
<value>Enables dGPU for standard use</value>
|
<value>Activează dGPU pentru uz standard</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StandardMode" xml:space="preserve">
|
<data name="StandardMode" xml:space="preserve">
|
||||||
<value>Standard</value>
|
<value>Standard</value>
|
||||||
@@ -474,69 +588,69 @@ Do you still want to continue?</value>
|
|||||||
<value>Start</value>
|
<value>Start</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartingServices" xml:space="preserve">
|
<data name="StartingServices" xml:space="preserve">
|
||||||
<value>Starting Services</value>
|
<value>Se pornesc serviciile</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartupError" xml:space="preserve">
|
<data name="StartupError" xml:space="preserve">
|
||||||
<value>Startup Error</value>
|
<value>Eroare la Pornire</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Stop" xml:space="preserve">
|
<data name="Stop" xml:space="preserve">
|
||||||
<value>Stop</value>
|
<value>Stop</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StopGPUApps" xml:space="preserve">
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
<value>Stop GPU Applications</value>
|
<value>Oprește aplicațiile care folosesc GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StoppingServices" xml:space="preserve">
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
<value>Stopping Services</value>
|
<value>Se opresc serviciile</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Toggle Aura</value>
|
<value>Toggle Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Auto Toggle Mod Clamshell</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Toggle Fn-Lock</value>
|
<value>Toggle Fn-Lock</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Toggle Miniled (if supported)</value>
|
<value>Toggle Miniled (dacă e suportat)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>Toggle Screen</value>
|
<value>Toggle Ecran</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnedOff" xml:space="preserve">
|
<data name="TurnedOff" xml:space="preserve">
|
||||||
<value>Turned off</value>
|
<value>Dezactivat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TurnOffOnBattery" xml:space="preserve">
|
<data name="TurnOffOnBattery" xml:space="preserve">
|
||||||
<value>Turn off on battery</value>
|
<value>Dezactivează când bateria e folosită</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateGPUTooltip" xml:space="preserve">
|
<data name="UltimateGPUTooltip" xml:space="preserve">
|
||||||
<value>Routes laptop screen to dGPU, maximizing FPS</value>
|
<value>Rutează ecranul laptop-ului spre dGPU, maximizând FPS</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UltimateMode" xml:space="preserve">
|
<data name="UltimateMode" xml:space="preserve">
|
||||||
<value>Ultimate</value>
|
<value>Ultimate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
<value>Undervolting este o funcțiune experimentală și riscantă. Dacă valorile aplicate sunt prea mici pentru hardware-ul dumneavoastră, acesta poate deveni instabil, a se opri sau să corupă datele. Dacă vrei să încerci - mai întâi începe de la valori mici, apasă Aplică și testează ce funcționează pentru tine.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Actualizări</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Version</value>
|
<value>Versiune</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Volume Down</value>
|
<value>Buton scădere volum</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeMute" xml:space="preserve">
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
<value>Volume Mute</value>
|
<value>Buton dezactivare sunet</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeUp" xml:space="preserve">
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
<value>Volume Up</value>
|
<value>Buton mărire volum</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="WindowTop" xml:space="preserve">
|
<data name="WindowTop" xml:space="preserve">
|
||||||
<value>Keep app window always on top</value>
|
<value>Păstrează aplicația mereu deasupra</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Hızlandırma</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>ASUS ACPI'ye bağlanılamıyor. Uygulama o olmadan çalışamaz. Asus Sistem Kontrol Arayüzü'nü yüklemeyi deneyin.</value>
|
<value>ASUS ACPI'ye bağlanılamıyor. Uygulama o olmadan çalışamaz. Asus Sistem Kontrol Arayüzü'nü yüklemeyi deneyin.</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -148,7 +151,7 @@
|
|||||||
<value>G-Helper zaten çalışıyor. Simge için görev çubuğunu kontrol edin.</value>
|
<value>G-Helper zaten çalışıyor. Simge için görev çubuğunu kontrol edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Apply" xml:space="preserve">
|
<data name="Apply" xml:space="preserve">
|
||||||
<value>Apply</value>
|
<value>Uygula</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>Özel Fan Eğrisini Uygula</value>
|
<value>Özel Fan Eğrisini Uygula</value>
|
||||||
@@ -160,23 +163,44 @@
|
|||||||
<value>Windows Güç Modunu otomatik ayarla</value>
|
<value>Windows Güç Modunu otomatik ayarla</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Asus Services Running</value>
|
<value>Çalışan Asus Hizmetleri</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Pil Durumu</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Nefes</value>
|
<value>Nefes</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Saat Yönünde</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Renk Döngüsü</value>
|
<value>Renk Döngüsü</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Kuyruklu Yıldız</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Saat Yönünün Tersine</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Hızlı</value>
|
<value>Hızlı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Işıklandırma Modu</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Gökkuşağı</value>
|
<value>Gökkuşağı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Rastgele</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Reaksiyon</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Yavaş</value>
|
<value>Yavaş</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,8 +210,23 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Flaş</value>
|
<value>Flaş</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Tümü</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Yuva</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Kaydırma Tekerleği</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Alttan Aydınlatma</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Auto Apply</value>
|
<value>Otomatik Uygula</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AutoMode" xml:space="preserve">
|
<data name="AutoMode" xml:space="preserve">
|
||||||
<value>Otomatik</value>
|
<value>Otomatik</value>
|
||||||
@@ -196,7 +235,7 @@
|
|||||||
<value>Pil tasarrufu için 60Hz kullanılır ve şarja takıldığında eski haline getirir</value>
|
<value>Pil tasarrufu için 60Hz kullanılır ve şarja takıldığında eski haline getirir</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Awake" xml:space="preserve">
|
<data name="Awake" xml:space="preserve">
|
||||||
<value>Uyanık</value>
|
<value>Uyanırken</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>Pildeyken klavye ışığının kapanma süresi</value>
|
<value>Pildeyken klavye ışığının kapanma süresi</value>
|
||||||
@@ -204,36 +243,54 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Dengeli</value>
|
<value>Dengeli</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Şarj</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Pil Şarj Limiti</value>
|
<value>Pil Şarj Limiti</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Pil Sağlığı</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Bir seferlik %100 şarj etme</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS and Driver Updates</value>
|
<value>BIOS ve Sürücü Güncellemeleri</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Önyükleme</value>
|
<value>Boot</value>
|
||||||
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sesi</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Parlaklığı</value>
|
<value>Parlaklığı</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessDown" xml:space="preserve">
|
<data name="BrightnessDown" xml:space="preserve">
|
||||||
<value>Brightness Down</value>
|
<value>Parlaklığı Azalt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Brightness Up</value>
|
<value>Parlaklığı Artır</value>
|
||||||
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Kalibre Et</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Şarj oluyor</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Renk</value>
|
<value>Renk</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="CPUBoost" xml:space="preserve">
|
<data name="CPUBoost" xml:space="preserve">
|
||||||
<value>CPU Boost</value>
|
<value>CPU Desteği</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Özel</value>
|
<value>Özel</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Yavaşlama</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Varsayılan</value>
|
<value>Varsayılan</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -241,13 +298,13 @@
|
|||||||
<value>Ekran overdrive özelliğini devre dışı bırak</value>
|
<value>Ekran overdrive özelliğini devre dışı bırak</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Discharging" xml:space="preserve">
|
<data name="Discharging" xml:space="preserve">
|
||||||
<value>Pil boşalıyor</value>
|
<value>Şarj azalıyor</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Güncelleştirmeyi İndir</value>
|
<value>İndir</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Drivers and Software</value>
|
<value>Sürücüler ve Yazılımlar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EcoGPUTooltip" xml:space="preserve">
|
<data name="EcoGPUTooltip" xml:space="preserve">
|
||||||
<value>Pil tasarrufu için harici GPU'yu devre dışı bırakır</value>
|
<value>Pil tasarrufu için harici GPU'yu devre dışı bırakır</value>
|
||||||
@@ -256,12 +313,15 @@
|
|||||||
<value>Eko</value>
|
<value>Eko</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>Disabling the dGPU by going into Eco mode while Display Mode in NVIDIA Control Panel is not set to Optimus might cause problems with brightness controls until after the next reboot.
|
<value>NVIDIA Denetim Masası'ndaki Görüntü Modu Optimus olarak ayarlı değilken Eko moduna geçilerek harici GPU'nun devre dışı bırakılması, bir sonraki yeniden başlatmaya kadar parlaklık ayarlarında sorunlara neden olabilir.
|
||||||
|
|
||||||
Do you still want to continue?</value>
|
Yine de devam etmek istiyor musunuz?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA Görüntü Modu Optimus olarak ayarlanmamış</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Enerji Ayarları</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Ekstra</value>
|
<value>Ekstra</value>
|
||||||
@@ -306,10 +366,10 @@ Do you still want to continue?</value>
|
|||||||
<value>Değiştiriliyor</value>
|
<value>Değiştiriliyor</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUCoreClockOffset" xml:space="preserve">
|
<data name="GPUCoreClockOffset" xml:space="preserve">
|
||||||
<value>Core Clock Offset</value>
|
<value>Çekirdek Frekans Dengesi</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
<data name="GPUMemoryClockOffset" xml:space="preserve">
|
||||||
<value>Memory Clock Offset</value>
|
<value>Hafıza Frekans Dengesi</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUMode" xml:space="preserve">
|
<data name="GPUMode" xml:space="preserve">
|
||||||
<value>GPU Modu</value>
|
<value>GPU Modu</value>
|
||||||
@@ -324,22 +384,28 @@ Do you still want to continue?</value>
|
|||||||
<value>sadece harici GPU</value>
|
<value>sadece harici GPU</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUSettings" xml:space="preserve">
|
<data name="GPUSettings" xml:space="preserve">
|
||||||
<value>GPU Settings</value>
|
<value>GPU Ayarları</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperature Target</value>
|
<value>Sıcaklık Hedefi</value>
|
||||||
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Uyku modunda, Hazırda Bekleme Moduna geçiş dakikası (0 - KAPALI)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Yüksek</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Tuş Bağlantıları</value>
|
<value>Tuş Atamaları</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Keyboard" xml:space="preserve">
|
<data name="Keyboard" xml:space="preserve">
|
||||||
<value>Klavye</value>
|
<value>Klavye</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="KillGpuApps" xml:space="preserve">
|
<data name="KillGpuApps" xml:space="preserve">
|
||||||
<value>Eco'ya geçerken dGPU kullanan tüm uygulamaları durdur</value>
|
<value>Eco'ya geçerken harici GPU'yu kullanan tüm uygulamaları durdur</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopBacklight" xml:space="preserve">
|
<data name="LaptopBacklight" xml:space="preserve">
|
||||||
<value>Aydınlatması</value>
|
<value>Laptop Aydınlatması</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="LaptopKeyboard" xml:space="preserve">
|
<data name="LaptopKeyboard" xml:space="preserve">
|
||||||
<value>Laptop Klavyesi</value>
|
<value>Laptop Klavyesi</value>
|
||||||
@@ -348,19 +414,25 @@ Do you still want to continue?</value>
|
|||||||
<value>Laptop Ekranı</value>
|
<value>Laptop Ekranı</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lid" xml:space="preserve">
|
<data name="Lid" xml:space="preserve">
|
||||||
<value>Lid</value>
|
<value>Kapak</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Lightbar</value>
|
<value>Işık Çubuğu</value>
|
||||||
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Işıklandırma</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Düşük</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Audio Visualizer</value>
|
<value>Ses Görselleştirici</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBanner" xml:space="preserve">
|
<data name="MatrixBanner" xml:space="preserve">
|
||||||
<value>Matrix Banner</value>
|
<value>Binary Banner</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MatrixBright" xml:space="preserve">
|
<data name="MatrixBright" xml:space="preserve">
|
||||||
<value>Parlak</value>
|
<value>Parlak</value>
|
||||||
@@ -389,17 +461,50 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Pil tasarrufu için 60Hz yenileme hızı</value>
|
<value>Pil tasarrufu için 60Hz yenileme hızı</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Dakika</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Dakika</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Sonrasında Otomatik Kapat</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Tuş Tepkisi</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Havalanma Mesafesi</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Düşük Pil Uyarısı seviyesi</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performans</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Fare ile senkronize edin</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Çoklu Bölge</value>
|
<value>Çoklu Bölge</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Mute Mic</value>
|
<value>Mikrofonu Sustur</value>
|
||||||
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Asla</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>Yeni güncellemeler</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>Güncelleme yok</value>
|
||||||
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Bağlantı Yok</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>G-Helper penceresini aç</value>
|
<value>G-Helper penceresini aç</value>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Performans Modu</value>
|
<value>Performans Modu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Çevre Birimleri</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Resim / Gif</value>
|
<value>Resim / Gif</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Oynat / Duraklat</value>
|
<value>Oynat / Duraklat</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Yoklama Sıklığı</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Güç Sınırları</value>
|
<value>Güç Sınırları</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Ekran Görüntüsü Al</value>
|
<value>Ekran Görüntüsü Al</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profil</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Çıkış Yap</value>
|
<value>Çıkış Yap</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Something is using dGPU and preventing Eco mode. Restart dGPU in device manager? * Please proceed at your own risk.</value>
|
<value>Bir şey harici GPU'yu kullanıyor ve Eco modunu engelliyor. G-Helper aygıt yöneticisinde harici GPU'yu yeniden başlatmayı denesin mi? (Kendi sorumluluğunuzdadır)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>RPM</value>
|
<value>RPM</value>
|
||||||
@@ -450,13 +564,13 @@ Do you still want to continue?</value>
|
|||||||
<value>Başlangıçta Çalıştır</value>
|
<value>Başlangıçta Çalıştır</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Screenpad Parlaklığını Azalt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Screenpad Parlaklığını Artır</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Kapalı</value>
|
<value>Kapatma</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Silent" xml:space="preserve">
|
<data name="Silent" xml:space="preserve">
|
||||||
<value>Sessiz</value>
|
<value>Sessiz</value>
|
||||||
@@ -471,37 +585,37 @@ Do you still want to continue?</value>
|
|||||||
<value>Standart</value>
|
<value>Standart</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Start" xml:space="preserve">
|
<data name="Start" xml:space="preserve">
|
||||||
<value>Start</value>
|
<value>Başlat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartingServices" xml:space="preserve">
|
<data name="StartingServices" xml:space="preserve">
|
||||||
<value>Starting Services</value>
|
<value>Hizmetler Başlatılıyor</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StartupError" xml:space="preserve">
|
<data name="StartupError" xml:space="preserve">
|
||||||
<value>Başlatma Hatası</value>
|
<value>Başlatma Hatası</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Stop" xml:space="preserve">
|
<data name="Stop" xml:space="preserve">
|
||||||
<value>Stop</value>
|
<value>Durdur</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StopGPUApps" xml:space="preserve">
|
<data name="StopGPUApps" xml:space="preserve">
|
||||||
<value>Stop GPU Applications</value>
|
<value>GPU Uygulamalarını Durdur</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="StoppingServices" xml:space="preserve">
|
<data name="StoppingServices" xml:space="preserve">
|
||||||
<value>Stopping Services</value>
|
<value>Hizmetler Durduruluyor</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleAura" xml:space="preserve">
|
<data name="ToggleAura" xml:space="preserve">
|
||||||
<value>Aura'yı Değiştir</value>
|
<value>Aura'yı Kullan</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Otomatik Clamshell Modunu Aç</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Toggle Fn-Lock</value>
|
<value>Fn-Lock'u Aç</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleMiniled" xml:space="preserve">
|
<data name="ToggleMiniled" xml:space="preserve">
|
||||||
<value>Toggle Miniled (if supported)</value>
|
<value>Miniled'i Aç (destekliyorsa)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>Toggle Screen</value>
|
<value>Ekranı Değiştir</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>Turbo</value>
|
<value>Turbo</value>
|
||||||
@@ -519,22 +633,22 @@ Do you still want to continue?</value>
|
|||||||
<value>Ultimate</value>
|
<value>Ultimate</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="UndervoltingRisky" xml:space="preserve">
|
<data name="UndervoltingRisky" xml:space="preserve">
|
||||||
<value>Undervolting is an experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
<value>Undervolting deneysel ve riskli bir özelliktir. Uygulanan değerler cihazınız için çok düşükse, cihazınız stabil çalışmayabilir, kapanabilir veya veri kaybına uğrayabilir. Yine de denemek istiyorsanız, önce küçük değerlerden başlayıp Uygula'ya tıklayın ve sizin için uygun olanı test edin.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Updates" xml:space="preserve">
|
<data name="Updates" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Güncellemeler</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VersionLabel" xml:space="preserve">
|
<data name="VersionLabel" xml:space="preserve">
|
||||||
<value>Sürüm</value>
|
<value>Sürüm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeDown" xml:space="preserve">
|
<data name="VolumeDown" xml:space="preserve">
|
||||||
<value>Volume Down</value>
|
<value>Sesi Azalt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeMute" xml:space="preserve">
|
<data name="VolumeMute" xml:space="preserve">
|
||||||
<value>Ses Kısma</value>
|
<value>Sesi Kapat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="VolumeUp" xml:space="preserve">
|
<data name="VolumeUp" xml:space="preserve">
|
||||||
<value>Volume Up</value>
|
<value>Sesi Artır</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="WindowTop" xml:space="preserve">
|
<data name="WindowTop" xml:space="preserve">
|
||||||
<value>Uygulama penceresini her zaman en üstte tut</value>
|
<value>Uygulama penceresini her zaman en üstte tut</value>
|
||||||
|
|||||||
@@ -117,8 +117,11 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Прискорення</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Не вдається підключитися до ASUS ACPI. Програма не може працювати без нього. Спробуйте встановити Asus System Control Interface</value>
|
<value>Не вдається під'єднатися до ASUS ACPI. Програма не може працювати без нього. Спробуйте встановити Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertDGPU" xml:space="preserve">
|
<data name="AlertDGPU" xml:space="preserve">
|
||||||
<value>Здається, що GPU використовується, вимкнути її?</value>
|
<value>Здається, що GPU використовується, вимкнути її?</value>
|
||||||
@@ -133,7 +136,7 @@
|
|||||||
<value>Ультимативний режим потребує перезавантаження</value>
|
<value>Ультимативний режим потребує перезавантаження</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AlertUltimateTitle" xml:space="preserve">
|
<data name="AlertUltimateTitle" xml:space="preserve">
|
||||||
<value>Перезавантажитися зараз?</value>
|
<value>Перезавантажити зараз?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimationSpeed" xml:space="preserve">
|
<data name="AnimationSpeed" xml:space="preserve">
|
||||||
<value>Швидкість Анімації</value>
|
<value>Швидкість Анімації</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Кількість запущених сервісів Asus</value>
|
<value>Кількість запущених сервісів Asus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Стан батареї</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Дихання</value>
|
<value>Дихання</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Направо</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Зміна Кольорів</value>
|
<value>Зміна Кольорів</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Комета</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Наліво</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Швидка</value>
|
<value>Швидка</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Підсвітка</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Нормальна</value>
|
<value>Нормальна</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Веселка</value>
|
<value>Веселка</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Випадкова</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Реактивна</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Повільна</value>
|
<value>Повільна</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Стробоскоп</value>
|
<value>Стробоскоп</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Все</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Док</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Лого</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Колесо</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Низ</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Автоматично</value>
|
<value>Автоматично</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -204,15 +243,27 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Баланс</value>
|
<value>Баланс</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Заряд</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Ліміт заряду батареї</value>
|
<value>Ліміт заряду батареї</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Стан батареї</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>Одноразовий заряд до 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>Оновлення BIOS та драйверів</value>
|
<value>Оновлення BIOS та драйверів</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Старт</value>
|
<value>Старт</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Звук завантаження</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Яскравість</value>
|
<value>Яскравість</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Підвищити яскравість</value>
|
<value>Підвищити яскравість</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Калібрування</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Зарядка</value>
|
<value>Зарядка</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Своє</value>
|
<value>Своє</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Уповільнення</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>За замовчуванням</value>
|
<value>За замовчуванням</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -263,6 +320,9 @@
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode не в режимі Optimus</value>
|
<value>NVIDIA Display Mode не в режимі Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Налаштування Енергії</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Додатково</value>
|
<value>Додатково</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Temperature Target</value>
|
<value>Temperature Target</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Хвилин до режиму глибокого сну з акумулятором (0 - Вимкнено)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>Висока</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Прив'язки клавіш</value>
|
<value>Прив'язки клавіш</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Лайтбар</value>
|
<value>Лайтбар</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Ілюмінація</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Лого</value>
|
<value>Лого</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Низька</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Аудіо візуалізатор</value>
|
<value>Аудіо візуалізатор</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Частота 60Гц, щоб зберегти заряд батареї</value>
|
<value>Частота 60Гц, щоб зберегти заряд батареї</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Хвил.</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Хвилини</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Фіксація Кута</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Авто-вимикання</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Відповідь Кнопок</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Відстань підйому</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Попередження про низький заряд</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Режим Швидкодії</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Синхронізувати з мишею</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Мультизони</value>
|
<value>Мультизони</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Вимкнути мікрофон</value>
|
<value>Вимкнути мікрофон</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Ніколи</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>Є оновлення</value>
|
<value>Є оновлення</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>Немає оновлень</value>
|
<value>Немає оновлень</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Не під'єднано</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Відкрити вікно G-Helper</value>
|
<value>Відкрити вікно G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Режим</value>
|
<value>Режим</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Периферія</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Картинка / GIF</value>
|
<value>Картинка / GIF</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Відтворення / Пауза</value>
|
<value>Відтворення / Пауза</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Частота опитування</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Ліміти Потужності</value>
|
<value>Ліміти Потужності</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Print Screen</value>
|
<value>Print Screen</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Профіль</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Вихід</value>
|
<value>Вихід</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Щось використовує dGPU та не дає перейти в режимі Еко. Перезапустити dGPU у менеджері пристроїв? * Будь ласка, продовжуйте на свій страх і ризик.</value>
|
<value>Щось використовує dGPU та запобігає Еко-режиму. Дозвольте G-Helper спробувати перезапустити dGPU у менеджері пристрою? (Будь ласка, продовжуйте на власний ризик)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>Оберти</value>
|
<value>Оберти</value>
|
||||||
@@ -450,10 +564,10 @@
|
|||||||
<value>Запускати на старті</value>
|
<value>Запускати на старті</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadDown" xml:space="preserve">
|
<data name="ScreenPadDown" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Down</value>
|
<value>Зменшити яскравість Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ScreenPadUp" xml:space="preserve">
|
<data name="ScreenPadUp" xml:space="preserve">
|
||||||
<value>Screenpad Brightness Up</value>
|
<value>Збільшити яскравість Screenpad</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Shutdown" xml:space="preserve">
|
<data name="Shutdown" xml:space="preserve">
|
||||||
<value>Вимикання</value>
|
<value>Вимикання</value>
|
||||||
@@ -492,7 +606,7 @@
|
|||||||
<value>Аура</value>
|
<value>Аура</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>Автоматично вмикати режим Clamshell</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>Fn-Lock</value>
|
<value>Fn-Lock</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>Gia tốc</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>Không thể kết nối đến ASUS ACPI. Chương trình cần nó để có thể hoạt động. Hãy thử cài lại Asus System Control Interface</value>
|
<value>Không thể kết nối đến ASUS ACPI. Chương trình cần nó để có thể hoạt động. Hãy thử cài lại Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>Dịch vụ Asus đang chạy</value>
|
<value>Dịch vụ Asus đang chạy</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>Trạng thái pin</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>Hơi thở</value>
|
<value>Hơi thở</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>Chiều kim đồng hồ</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>Chuyển màu</value>
|
<value>Chuyển màu</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>Sao chổi</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>Ngược chiều kim đồng hồ</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>Nhanh</value>
|
<value>Nhanh</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>Chế độ sáng</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>Bình thường</value>
|
<value>Bình thường</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>Cầu vồng</value>
|
<value>Cầu vồng</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>Ngẫu nhiên</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>Phản ứng</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>Chậm</value>
|
<value>Chậm</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>Nhấp nháy</value>
|
<value>Nhấp nháy</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>Tất cả</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>Scrollwheel</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>Áp dụng tự động</value>
|
<value>Áp dụng tự động</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -204,15 +243,27 @@
|
|||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>Cân bằng</value>
|
<value>Cân bằng</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>Sạc</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>Giới hạn sạc</value>
|
<value>Giới hạn sạc</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>Sức khoẻ pin</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>One time charge to 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>Cập nhật BIOS và driver</value>
|
<value>Cập nhật BIOS và driver</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>Khởi động</value>
|
<value>Khởi động</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>Boot Sound</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>Độ sáng</value>
|
<value>Độ sáng</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,8 +273,11 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>Tăng độ sáng</value>
|
<value>Tăng độ sáng</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>Calibrate</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>Charging</value>
|
<value>Đang sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>Màu</value>
|
<value>Màu</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>Tuỳ chỉnh</value>
|
<value>Tuỳ chỉnh</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>Giảm tốc</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>Mặc định</value>
|
<value>Mặc định</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>Đang không sạc</value>
|
<value>Đang không sạc</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>Tải xuống bản cập nhật</value>
|
<value>Tải xuống</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>Driver và phần mềm</value>
|
<value>Driver và phần mềm</value>
|
||||||
@@ -263,6 +320,9 @@ Do you still want to continue?</value>
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>NVIDIA Display Mode is not set to Optimus</value>
|
<value>NVIDIA Display Mode is not set to Optimus</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>Energy Settings</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>Thêm</value>
|
<value>Thêm</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@ Do you still want to continue?</value>
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>Nhiệt độ đích</value>
|
<value>Nhiệt độ đích</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>Minutes till Hibernation in sleep on battery (0 - OFF)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>High</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>Tổ hợp phím</value>
|
<value>Tổ hợp phím</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@ Do you still want to continue?</value>
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>Thanh sáng</value>
|
<value>Thanh sáng</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>Lighting</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>Low</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>Sóng nhạc</value>
|
<value>Sóng nhạc</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@ Do you still want to continue?</value>
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>Tần số quét 60Hz để tiết kiệm pin</value>
|
<value>Tần số quét 60Hz để tiết kiệm pin</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>Minute</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>Minutes</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>Angle Snapping</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>Auto Power Off After</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>Button Response</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>Lift Off Distance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>Low Battery Warning at</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>Performance</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>Synchronize with mouse</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>Đèn nền Đa vùng(Multi-Zone)</value>
|
<value>Đèn nền Đa vùng(Multi-Zone)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>Tắt Mic</value>
|
<value>Tắt Mic</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>Never</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>New updates</value>
|
<value>New updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>No new updates</value>
|
<value>No new updates</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>Not Connected</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>Mở cửa sổ G-Helper</value>
|
<value>Mở cửa sổ G-Helper</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@ Do you still want to continue?</value>
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>Chế độ Hiệu suất</value>
|
<value>Chế độ Hiệu suất</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>Peripherals</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>Ảnh tĩnh / Ảnh động</value>
|
<value>Ảnh tĩnh / Ảnh động</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>Phát / Dừng</value>
|
<value>Phát / Dừng</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>Polling Rate</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>Giới hạn công suất</value>
|
<value>Giới hạn công suất</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@ Do you still want to continue?</value>
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>Chụp màn hình</value>
|
<value>Chụp màn hình</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Profile</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>Thoát</value>
|
<value>Thoát</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>Không thể chuyển về Chế độ Tiết kiệm do có gì đó đang dùng GPU rời. Khởi động lại GPU rời trong Quản lý Thiết bị? * Bạn sẽ chịu mọi rủi ro.</value>
|
<value>Something is using dGPU and preventing Eco mode. Let G-Helper try to restart dGPU in device manager? (Please proceed at your own risk)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>VTP</value>
|
<value>VTP</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>加速</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
<value>无法连接到ASUS ACPI。 没有它应用程序将无法运行。 请尝试安装Asus System Control Interface驱动。</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -151,7 +154,7 @@
|
|||||||
<value>应用</value>
|
<value>应用</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyFanCurve" xml:space="preserve">
|
<data name="ApplyFanCurve" xml:space="preserve">
|
||||||
<value>应用自定义扇形曲线</value>
|
<value>应用自定义风扇曲线</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplyPowerLimits" xml:space="preserve">
|
<data name="ApplyPowerLimits" xml:space="preserve">
|
||||||
<value>应用功率限制</value>
|
<value>应用功率限制</value>
|
||||||
@@ -162,21 +165,42 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>正在运行的 Asus 服务</value>
|
<value>正在运行的 Asus 服务</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>电池状态</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>呼吸</value>
|
<value>呼吸</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>顺时针</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>彩色循环</value>
|
<value>彩色循环</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>彗星</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>逆时针</value>
|
||||||
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>快速</value>
|
<value>快速</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>灯效模式</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>正常</value>
|
<value>正常</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>彩虹</value>
|
<value>彩虹</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>随机</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>触发</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>慢</value>
|
<value>慢</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -186,6 +210,21 @@
|
|||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>闪烁</value>
|
<value>闪烁</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>全部</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>滚轮</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>底灯</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>自动应用</value>
|
<value>自动应用</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -199,20 +238,32 @@
|
|||||||
<value>唤醒时</value>
|
<value>唤醒时</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>插电/电池时背光时间 (0表示长亮)</value>
|
<value>插电/电池时熄灭时间(0表示长亮)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>平衡模式</value>
|
<value>平衡模式</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>电池电量</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>电池充电限制</value>
|
<value>电池充电限制</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>电池健康</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>一次性充电至 100%</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS 和驱动程序更新</value>
|
<value>BIOS 和驱动程序更新</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>开机时</value>
|
<value>开机时</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>开机音效</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>亮度</value>
|
<value>亮度</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,6 +273,9 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>提高亮度</value>
|
<value>提高亮度</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>校准</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>充电中</value>
|
<value>充电中</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>自定义设置</value>
|
<value>自定义设置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>减速</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>默认</value>
|
<value>默认</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>正在放电</value>
|
<value>正在放电</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>下载更新</value>
|
<value>下载</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>驱动程序和软件</value>
|
<value>驱动程序和软件</value>
|
||||||
@@ -256,12 +313,15 @@
|
|||||||
<value>集显模式</value>
|
<value>集显模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusText" xml:space="preserve">
|
<data name="EnableOptimusText" xml:space="preserve">
|
||||||
<value>若未在nVIDIA控制面板的混合显示模式中设置为Optimus,关闭独立显卡可能会导致亮度控制在系统重启前都不可用。
|
<value>NVIDIA 控制面板中的显示模式未设置为 Optimus 时,通过集显模式禁用独立显卡可能会使亮度控制出现问题,直到下次重启后才能恢复。
|
||||||
|
|
||||||
确定还要继续吗?</value>
|
确定还要继续吗?</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>nVIDIA显示模式尚未设置至Optimus</value>
|
<value>NVIDIA 显示模式未设置为 Optimus</value>
|
||||||
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>电源设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>更多</value>
|
<value>更多</value>
|
||||||
@@ -282,7 +342,7 @@
|
|||||||
<value>GPU 风扇配置文件</value>
|
<value>GPU 风扇配置文件</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfileMid" xml:space="preserve">
|
<data name="FanProfileMid" xml:space="preserve">
|
||||||
<value>中等风扇配置</value>
|
<value>Mid 风扇配置文件</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FanProfiles" xml:space="preserve">
|
<data name="FanProfiles" xml:space="preserve">
|
||||||
<value>风扇配置</value>
|
<value>风扇配置</value>
|
||||||
@@ -294,7 +354,7 @@
|
|||||||
<value>风扇</value>
|
<value>风扇</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FansPower" xml:space="preserve">
|
<data name="FansPower" xml:space="preserve">
|
||||||
<value>高级设置</value>
|
<value>风扇 + 功率</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="FnLock" xml:space="preserve">
|
<data name="FnLock" xml:space="preserve">
|
||||||
<value>打开FnLock (无需按下FN使用FN+(F1-F12)热键)</value>
|
<value>打开FnLock (无需按下FN使用FN+(F1-F12)热键)</value>
|
||||||
@@ -329,6 +389,12 @@
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>温度目标</value>
|
<value>温度目标</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>在使用电池时几分钟后进入休眠状态 (0 - 关闭)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>高</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>按键绑定</value>
|
<value>按键绑定</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>灯条</value>
|
<value>灯条</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>背光</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>徽标</value>
|
<value>徽标</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>低</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>音频可视化器</value>
|
<value>音频可视化器</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>调整刷新率为60Hz以节省电量</value>
|
<value>调整刷新率为60Hz以节省电量</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>分钟</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>分钟</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>角度校正</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>自动关闭时间</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>按键响应</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>响应高度</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>低于该电量时警告</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>性能</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>和鼠标同步</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>多区域设置</value>
|
<value>多区域设置</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>静音麦克风</value>
|
<value>静音麦克风</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>从不</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>有更新</value>
|
<value>有更新</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>无更新</value>
|
<value>无更新</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>未连接</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>打开G-Helper窗口</value>
|
<value>打开G-Helper窗口</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -417,17 +522,23 @@
|
|||||||
<value>其他</value>
|
<value>其他</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Overdrive" xml:space="preserve">
|
<data name="Overdrive" xml:space="preserve">
|
||||||
<value>OD</value>
|
<value>超频</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>性能模式</value>
|
<value>性能模式</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>外设</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>图片/动图</value>
|
<value>图片/动图</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>播放/暂停</value>
|
<value>播放/暂停</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>回报率</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>功率限制</value>
|
<value>功率限制</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>截图</value>
|
<value>截图</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>配置</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>退出</value>
|
<value>退出</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>有程序正在使用独立显卡阻止进入节能模式。要在设备管理器中重新启动dGPU 吗?* 请自行承担风险。</value>
|
<value>有程序正在使用独显并阻止进入集显模式。要让 G-Helper 在设备管理器中重新启动独显吗?(请自行承担风险)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>转/分钟</value>
|
<value>转/分钟</value>
|
||||||
@@ -492,7 +606,7 @@
|
|||||||
<value>切换 Aura 模式</value>
|
<value>切换 Aura 模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>自动切换合盖模式</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>切换 Fn 锁定</value>
|
<value>切换 Fn 锁定</value>
|
||||||
@@ -501,7 +615,7 @@
|
|||||||
<value>切换 MiniLED (如果支持)</value>
|
<value>切换 MiniLED (如果支持)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleScreen" xml:space="preserve">
|
<data name="ToggleScreen" xml:space="preserve">
|
||||||
<value>切换屏幕</value>
|
<value>关闭屏幕</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Turbo" xml:space="preserve">
|
<data name="Turbo" xml:space="preserve">
|
||||||
<value>增强模式</value>
|
<value>增强模式</value>
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
<data name="Acceleration" xml:space="preserve">
|
||||||
|
<value>滑鼠加速</value>
|
||||||
|
</data>
|
||||||
<data name="ACPIError" xml:space="preserve">
|
<data name="ACPIError" xml:space="preserve">
|
||||||
<value>無法連結到華碩 ACPI。 没有它,應用程式將無法執行。 嘗試安裝Asus System Control Interface</value>
|
<value>無法連結到華碩 ACPI。 没有它,應用程式將無法執行。 嘗試安裝Asus System Control Interface</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -139,7 +142,7 @@
|
|||||||
<value>動畫速度</value>
|
<value>動畫速度</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AnimeMatrix" xml:space="preserve">
|
<data name="AnimeMatrix" xml:space="preserve">
|
||||||
<value>AnimeMatrix</value>
|
<value>AniMeMatrix</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AppAlreadyRunning" xml:space="preserve">
|
<data name="AppAlreadyRunning" xml:space="preserve">
|
||||||
<value>程式已正在執行</value>
|
<value>程式已正在執行</value>
|
||||||
@@ -162,30 +165,66 @@
|
|||||||
<data name="AsusServicesRunning" xml:space="preserve">
|
<data name="AsusServicesRunning" xml:space="preserve">
|
||||||
<value>執行中的華碩服務</value>
|
<value>執行中的華碩服務</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraBatteryState" xml:space="preserve">
|
||||||
|
<value>電池狀態</value>
|
||||||
|
</data>
|
||||||
<data name="AuraBreathe" xml:space="preserve">
|
<data name="AuraBreathe" xml:space="preserve">
|
||||||
<value>呼吸</value>
|
<value>呼吸</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraClockwise" xml:space="preserve">
|
||||||
|
<value>順時針</value>
|
||||||
|
</data>
|
||||||
<data name="AuraColorCycle" xml:space="preserve">
|
<data name="AuraColorCycle" xml:space="preserve">
|
||||||
<value>循環</value>
|
<value>彩色循環</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraComet" xml:space="preserve">
|
||||||
|
<value>彗星</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraCounterClockwise" xml:space="preserve">
|
||||||
|
<value>逆時針</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraFast" xml:space="preserve">
|
<data name="AuraFast" xml:space="preserve">
|
||||||
<value>快速</value>
|
<value>快速</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraLightingMode" xml:space="preserve">
|
||||||
|
<value>燈效模式</value>
|
||||||
|
</data>
|
||||||
<data name="AuraNormal" xml:space="preserve">
|
<data name="AuraNormal" xml:space="preserve">
|
||||||
<value>正常</value>
|
<value>正常</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraRainbow" xml:space="preserve">
|
<data name="AuraRainbow" xml:space="preserve">
|
||||||
<value>彩虹</value>
|
<value>彩虹</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraRandomColor" xml:space="preserve">
|
||||||
|
<value>隨機</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraReact" xml:space="preserve">
|
||||||
|
<value>觸發</value>
|
||||||
|
</data>
|
||||||
<data name="AuraSlow" xml:space="preserve">
|
<data name="AuraSlow" xml:space="preserve">
|
||||||
<value>慢</value>
|
<value>慢</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStatic" xml:space="preserve">
|
<data name="AuraStatic" xml:space="preserve">
|
||||||
<value>靜態</value>
|
<value>靜態恆亮</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AuraStrobe" xml:space="preserve">
|
<data name="AuraStrobe" xml:space="preserve">
|
||||||
<value>閃爍</value>
|
<value>閃爍</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="AuraZoneAll" xml:space="preserve">
|
||||||
|
<value>全部</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneDock" xml:space="preserve">
|
||||||
|
<value>Dock</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneLogo" xml:space="preserve">
|
||||||
|
<value>Logo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneScroll" xml:space="preserve">
|
||||||
|
<value>滾輪</value>
|
||||||
|
</data>
|
||||||
|
<data name="AuraZoneUnderglow" xml:space="preserve">
|
||||||
|
<value>Underglow</value>
|
||||||
|
</data>
|
||||||
<data name="AutoApply" xml:space="preserve">
|
<data name="AutoApply" xml:space="preserve">
|
||||||
<value>自動套用</value>
|
<value>自動套用</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -199,20 +238,32 @@
|
|||||||
<value>喚醒時</value>
|
<value>喚醒時</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BacklightTimeout" xml:space="preserve">
|
<data name="BacklightTimeout" xml:space="preserve">
|
||||||
<value>超時插入/使用電池 (0 = 不關閉)</value>
|
<value>閒置幾秒後關閉燈光:插電時 / 使用電池 (0 = 不關閉)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Balanced" xml:space="preserve">
|
<data name="Balanced" xml:space="preserve">
|
||||||
<value>平衡模式</value>
|
<value>平衡模式</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryCharge" xml:space="preserve">
|
||||||
|
<value>充電</value>
|
||||||
|
</data>
|
||||||
<data name="BatteryChargeLimit" xml:space="preserve">
|
<data name="BatteryChargeLimit" xml:space="preserve">
|
||||||
<value>電池充電上限</value>
|
<value>電池充電上限</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BatteryHealth" xml:space="preserve">
|
||||||
|
<value>電池健康度</value>
|
||||||
|
</data>
|
||||||
|
<data name="BatteryLimitFull" xml:space="preserve">
|
||||||
|
<value>僅本次將電力充滿</value>
|
||||||
|
</data>
|
||||||
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
<data name="BiosAndDriverUpdates" xml:space="preserve">
|
||||||
<value>BIOS與驅動程式更新 Updates</value>
|
<value>BIOS與驅動程式更新 Updates</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Boot" xml:space="preserve">
|
<data name="Boot" xml:space="preserve">
|
||||||
<value>開機時</value>
|
<value>開機時</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="BootSound" xml:space="preserve">
|
||||||
|
<value>開機音效</value>
|
||||||
|
</data>
|
||||||
<data name="Brightness" xml:space="preserve">
|
<data name="Brightness" xml:space="preserve">
|
||||||
<value>亮度</value>
|
<value>亮度</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -222,8 +273,11 @@
|
|||||||
<data name="BrightnessUp" xml:space="preserve">
|
<data name="BrightnessUp" xml:space="preserve">
|
||||||
<value>螢幕亮度提高</value>
|
<value>螢幕亮度提高</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Calibrate" xml:space="preserve">
|
||||||
|
<value>校準</value>
|
||||||
|
</data>
|
||||||
<data name="Charging" xml:space="preserve">
|
<data name="Charging" xml:space="preserve">
|
||||||
<value>充填時</value>
|
<value>充電中</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Color" xml:space="preserve">
|
<data name="Color" xml:space="preserve">
|
||||||
<value>顏色</value>
|
<value>顏色</value>
|
||||||
@@ -234,6 +288,9 @@
|
|||||||
<data name="Custom" xml:space="preserve">
|
<data name="Custom" xml:space="preserve">
|
||||||
<value>自定義設置</value>
|
<value>自定義設置</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Deceleration" xml:space="preserve">
|
||||||
|
<value>滑鼠減速</value>
|
||||||
|
</data>
|
||||||
<data name="Default" xml:space="preserve">
|
<data name="Default" xml:space="preserve">
|
||||||
<value>預設</value>
|
<value>預設</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -244,7 +301,7 @@
|
|||||||
<value>正在釋放電力</value>
|
<value>正在釋放電力</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DownloadUpdate" xml:space="preserve">
|
<data name="DownloadUpdate" xml:space="preserve">
|
||||||
<value>下載更新</value>
|
<value>下載</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DriverAndSoftware" xml:space="preserve">
|
<data name="DriverAndSoftware" xml:space="preserve">
|
||||||
<value>驅動程式與軟體</value>
|
<value>驅動程式與軟體</value>
|
||||||
@@ -263,6 +320,9 @@
|
|||||||
<data name="EnableOptimusTitle" xml:space="preserve">
|
<data name="EnableOptimusTitle" xml:space="preserve">
|
||||||
<value>Nvidia顯示模式未設置為自動切換</value>
|
<value>Nvidia顯示模式未設置為自動切換</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="EnergySettings" xml:space="preserve">
|
||||||
|
<value>電源設定</value>
|
||||||
|
</data>
|
||||||
<data name="Extra" xml:space="preserve">
|
<data name="Extra" xml:space="preserve">
|
||||||
<value>更多</value>
|
<value>更多</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -329,6 +389,12 @@
|
|||||||
<data name="GPUTempTarget" xml:space="preserve">
|
<data name="GPUTempTarget" xml:space="preserve">
|
||||||
<value>GPU溫度上限</value>
|
<value>GPU溫度上限</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="HibernateAfter" xml:space="preserve">
|
||||||
|
<value>使用電池下何時進入休眠(0=關閉此功能)</value>
|
||||||
|
</data>
|
||||||
|
<data name="High" xml:space="preserve">
|
||||||
|
<value>高</value>
|
||||||
|
</data>
|
||||||
<data name="KeyBindings" xml:space="preserve">
|
<data name="KeyBindings" xml:space="preserve">
|
||||||
<value>按鍵綁定</value>
|
<value>按鍵綁定</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -353,9 +419,15 @@
|
|||||||
<data name="Lightbar" xml:space="preserve">
|
<data name="Lightbar" xml:space="preserve">
|
||||||
<value>燈條</value>
|
<value>燈條</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Lighting" xml:space="preserve">
|
||||||
|
<value>亮度</value>
|
||||||
|
</data>
|
||||||
<data name="Logo" xml:space="preserve">
|
<data name="Logo" xml:space="preserve">
|
||||||
<value>Logo</value>
|
<value>Logo</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Low" xml:space="preserve">
|
||||||
|
<value>低</value>
|
||||||
|
</data>
|
||||||
<data name="MatrixAudio" xml:space="preserve">
|
<data name="MatrixAudio" xml:space="preserve">
|
||||||
<value>音效視覺化</value>
|
<value>音效視覺化</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -389,18 +461,51 @@
|
|||||||
<data name="MinRefreshTooltip" xml:space="preserve">
|
<data name="MinRefreshTooltip" xml:space="preserve">
|
||||||
<value>維持60Hz以節省電量</value>
|
<value>維持60Hz以節省電量</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Minute" xml:space="preserve">
|
||||||
|
<value>分鐘</value>
|
||||||
|
</data>
|
||||||
|
<data name="Minutes" xml:space="preserve">
|
||||||
|
<value>分鐘</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAngleSnapping" xml:space="preserve">
|
||||||
|
<value>角度修正</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseAutoPowerOff" xml:space="preserve">
|
||||||
|
<value>自動關閉電源</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseButtonResponse" xml:space="preserve">
|
||||||
|
<value>按鍵回應</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLiftOffDistance" xml:space="preserve">
|
||||||
|
<value>響應高度(LOD)</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseLowBatteryWarning" xml:space="preserve">
|
||||||
|
<value>低電量警告</value>
|
||||||
|
</data>
|
||||||
|
<data name="MousePerformance" xml:space="preserve">
|
||||||
|
<value>性能設定</value>
|
||||||
|
</data>
|
||||||
|
<data name="MouseSynchronize" xml:space="preserve">
|
||||||
|
<value>與滑鼠同步</value>
|
||||||
|
</data>
|
||||||
<data name="Multizone" xml:space="preserve">
|
<data name="Multizone" xml:space="preserve">
|
||||||
<value>多區域</value>
|
<value>多區域</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MuteMic" xml:space="preserve">
|
<data name="MuteMic" xml:space="preserve">
|
||||||
<value>麥克風開關</value>
|
<value>麥克風開關</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Never" xml:space="preserve">
|
||||||
|
<value>永不</value>
|
||||||
|
</data>
|
||||||
<data name="NewUpdates" xml:space="preserve">
|
<data name="NewUpdates" xml:space="preserve">
|
||||||
<value>新的更新</value>
|
<value>新的更新</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="NoNewUpdates" xml:space="preserve">
|
<data name="NoNewUpdates" xml:space="preserve">
|
||||||
<value>沒有新的更新</value>
|
<value>沒有新的更新</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="NotConnected" xml:space="preserve">
|
||||||
|
<value>未連線</value>
|
||||||
|
</data>
|
||||||
<data name="OpenGHelper" xml:space="preserve">
|
<data name="OpenGHelper" xml:space="preserve">
|
||||||
<value>開啟G-Helper視窗</value>
|
<value>開啟G-Helper視窗</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -422,12 +527,18 @@
|
|||||||
<data name="PerformanceMode" xml:space="preserve">
|
<data name="PerformanceMode" xml:space="preserve">
|
||||||
<value>性能模式:</value>
|
<value>性能模式:</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Peripherals" xml:space="preserve">
|
||||||
|
<value>週邊設備</value>
|
||||||
|
</data>
|
||||||
<data name="PictureGif" xml:space="preserve">
|
<data name="PictureGif" xml:space="preserve">
|
||||||
<value>圖片/動圖</value>
|
<value>圖片/動圖</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="PlayPause" xml:space="preserve">
|
<data name="PlayPause" xml:space="preserve">
|
||||||
<value>播放/暫停</value>
|
<value>播放/暫停</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PollingRate" xml:space="preserve">
|
||||||
|
<value>輪循率</value>
|
||||||
|
</data>
|
||||||
<data name="PowerLimits" xml:space="preserve">
|
<data name="PowerLimits" xml:space="preserve">
|
||||||
<value>功率限制</value>
|
<value>功率限制</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -437,11 +548,14 @@
|
|||||||
<data name="PrintScreen" xml:space="preserve">
|
<data name="PrintScreen" xml:space="preserve">
|
||||||
<value>截圖</value>
|
<value>截圖</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>設定檔</value>
|
||||||
|
</data>
|
||||||
<data name="Quit" xml:space="preserve">
|
<data name="Quit" xml:space="preserve">
|
||||||
<value>退出</value>
|
<value>退出</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RestartGPU" xml:space="preserve">
|
<data name="RestartGPU" xml:space="preserve">
|
||||||
<value>有其他程式正在使用獨顯導致無法切換至節能模式. 是否在裝置管理員中重啟獨顯? * 請自行評估風險</value>
|
<value>有其他程式正在使用獨顯導致無法切換至節能模式. 是否讓G-Helper重新啟動獨顯? * 請自行評估風險</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="RPM" xml:space="preserve">
|
<data name="RPM" xml:space="preserve">
|
||||||
<value>每分鐘轉數</value>
|
<value>每分鐘轉數</value>
|
||||||
@@ -492,7 +606,7 @@
|
|||||||
<value>切換Aura</value>
|
<value>切換Aura</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleClamshellMode" xml:space="preserve">
|
<data name="ToggleClamshellMode" xml:space="preserve">
|
||||||
<value>Auto Toggle Clamshell Mode</value>
|
<value>翻蓋模式 (蓋上筆電但有外接螢幕時,系統仍會持續運行)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ToggleFnLock" xml:space="preserve">
|
<data name="ToggleFnLock" xml:space="preserve">
|
||||||
<value>免按Fn鍵使用Fn+F1~F12功能</value>
|
<value>免按Fn鍵使用Fn+F1~F12功能</value>
|
||||||
|
|||||||
BIN
app/Resources/Font.otf
Normal file
BIN
app/Resources/icons8-batterie-voll-geladen-48.png
Normal file
|
After Width: | Height: | Size: 262 B |
BIN
app/Resources/icons8-hibernate-32.png
Normal file
|
After Width: | Height: | Size: 563 B |
BIN
app/Resources/icons8-ladende-batterie-48.png
Normal file
|
After Width: | Height: | Size: 410 B |
BIN
app/Resources/icons8-maus-32.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
app/Resources/icons8-maus-48.png
Normal file
|
After Width: | Height: | Size: 481 B |
BIN
app/Resources/icons8-mauszeiger-50.png
Normal file
|
After Width: | Height: | Size: 498 B |
BIN
app/Resources/icons8-quit-32.png
Normal file
|
After Width: | Height: | Size: 576 B |
BIN
app/Resources/icons8-software-32-white.png
Normal file
|
After Width: | Height: | Size: 500 B |
BIN
app/Resources/lighting_dot_24.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
app/Resources/lighting_dot_32.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
app/Resources/lighting_dot_48.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
@@ -11,13 +11,13 @@ namespace Ryzen
|
|||||||
internal class RyzenControl
|
internal class RyzenControl
|
||||||
{
|
{
|
||||||
|
|
||||||
public const int MinCPUUV = -30;
|
public static int MinCPUUV => AppConfig.Get("min_uv", -30);
|
||||||
public const int MaxCPUUV = 0;
|
public const int MaxCPUUV = 0;
|
||||||
|
|
||||||
public const int MinIGPUUV = -20;
|
public const int MinIGPUUV = -20;
|
||||||
public const int MaxIGPUUV = 0;
|
public const int MaxIGPUUV = 0;
|
||||||
|
|
||||||
public const int MinTemp = 75;
|
public static int MinTemp => AppConfig.Get("min_temp", 75);
|
||||||
public const int MaxTemp = 98;
|
public const int MaxTemp = 98;
|
||||||
|
|
||||||
public static string[] FAM = { "RAVEN", "PICASSO", "DALI", "RENOIR/LUCIENNE", "MATISSE", "VANGOGH", "VERMEER", "CEZANNE/BARCELO", "REMBRANDT", "PHOENIX", "RAPHAEL/DRAGON RANGE" };
|
public static string[] FAM = { "RAVEN", "PICASSO", "DALI", "RENOIR/LUCIENNE", "MATISSE", "VANGOGH", "VERMEER", "CEZANNE/BARCELO", "REMBRANDT", "PHOENIX", "RAPHAEL/DRAGON RANGE" };
|
||||||
|
|||||||
624
app/Settings.Designer.cs
generated
541
app/Settings.cs
@@ -2,11 +2,15 @@
|
|||||||
using GHelper.AutoUpdate;
|
using GHelper.AutoUpdate;
|
||||||
using GHelper.Battery;
|
using GHelper.Battery;
|
||||||
using GHelper.Display;
|
using GHelper.Display;
|
||||||
|
using GHelper.Fan;
|
||||||
using GHelper.Gpu;
|
using GHelper.Gpu;
|
||||||
using GHelper.Helpers;
|
using GHelper.Helpers;
|
||||||
using GHelper.Input;
|
using GHelper.Input;
|
||||||
using GHelper.Mode;
|
using GHelper.Mode;
|
||||||
|
using GHelper.Peripherals;
|
||||||
|
using GHelper.Peripherals.Mouse;
|
||||||
using GHelper.UI;
|
using GHelper.UI;
|
||||||
|
using GHelper.USB;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
|
|
||||||
@@ -23,18 +27,26 @@ namespace GHelper
|
|||||||
ScreenControl screenControl = new ScreenControl();
|
ScreenControl screenControl = new ScreenControl();
|
||||||
AutoUpdateControl updateControl;
|
AutoUpdateControl updateControl;
|
||||||
|
|
||||||
public AniMatrixControl matrix;
|
AsusMouseSettings? mouseSettings;
|
||||||
|
|
||||||
|
public AniMatrixControl matrixControl;
|
||||||
|
|
||||||
public static System.Timers.Timer sensorTimer = default!;
|
public static System.Timers.Timer sensorTimer = default!;
|
||||||
|
|
||||||
public Fans? fans;
|
public Matrix? matrixForm;
|
||||||
public Extra? keyb;
|
public Fans? fansForm;
|
||||||
public Updates? updates;
|
public Extra? extraForm;
|
||||||
|
public Updates? updatesForm;
|
||||||
|
|
||||||
static long lastRefresh;
|
static long lastRefresh;
|
||||||
|
static long lastBatteryRefresh;
|
||||||
|
static long lastLostFocus;
|
||||||
|
|
||||||
bool isGpuSection = true;
|
bool isGpuSection = true;
|
||||||
|
|
||||||
|
bool batteryMouseOver = false;
|
||||||
|
bool batteryFullMouseOver = false;
|
||||||
|
|
||||||
public SettingsForm()
|
public SettingsForm()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -43,7 +55,7 @@ namespace GHelper
|
|||||||
|
|
||||||
gpuControl = new GPUModeControl(this);
|
gpuControl = new GPUModeControl(this);
|
||||||
updateControl = new AutoUpdateControl(this);
|
updateControl = new AutoUpdateControl(this);
|
||||||
matrix = new AniMatrixControl(this);
|
matrixControl = new AniMatrixControl(this);
|
||||||
|
|
||||||
buttonSilent.Text = Properties.Strings.Silent;
|
buttonSilent.Text = Properties.Strings.Silent;
|
||||||
buttonBalanced.Text = Properties.Strings.Balanced;
|
buttonBalanced.Text = Properties.Strings.Balanced;
|
||||||
@@ -68,6 +80,7 @@ namespace GHelper
|
|||||||
labelKeyboard.Text = Properties.Strings.LaptopKeyboard;
|
labelKeyboard.Text = Properties.Strings.LaptopKeyboard;
|
||||||
labelMatrix.Text = Properties.Strings.AnimeMatrix;
|
labelMatrix.Text = Properties.Strings.AnimeMatrix;
|
||||||
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit;
|
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit;
|
||||||
|
labelPeripherals.Text = Properties.Strings.Peripherals;
|
||||||
|
|
||||||
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
checkMatrix.Text = Properties.Strings.TurnOffOnBattery;
|
||||||
checkStartup.Text = Properties.Strings.RunOnStartup;
|
checkStartup.Text = Properties.Strings.RunOnStartup;
|
||||||
@@ -77,6 +90,7 @@ namespace GHelper
|
|||||||
buttonUpdates.Text = Properties.Strings.Updates;
|
buttonUpdates.Text = Properties.Strings.Updates;
|
||||||
|
|
||||||
FormClosing += SettingsForm_FormClosing;
|
FormClosing += SettingsForm_FormClosing;
|
||||||
|
Deactivate += SettingsForm_LostFocus;
|
||||||
|
|
||||||
buttonSilent.BorderColor = colorEco;
|
buttonSilent.BorderColor = colorEco;
|
||||||
buttonBalanced.BorderColor = colorStandard;
|
buttonBalanced.BorderColor = colorStandard;
|
||||||
@@ -173,11 +187,87 @@ namespace GHelper
|
|||||||
sensorTimer.Elapsed += OnTimedEvent;
|
sensorTimer.Elapsed += OnTimedEvent;
|
||||||
sensorTimer.Enabled = true;
|
sensorTimer.Enabled = true;
|
||||||
|
|
||||||
labelModel.Text = AppConfig.GetModelShort() + (ProcessHelper.IsUserAdministrator() ? "." : "");
|
labelCharge.MouseEnter += PanelBattery_MouseEnter;
|
||||||
|
labelCharge.MouseLeave += PanelBattery_MouseLeave;
|
||||||
|
|
||||||
|
buttonPeripheral1.Click += ButtonPeripheral_Click;
|
||||||
|
buttonPeripheral2.Click += ButtonPeripheral_Click;
|
||||||
|
buttonPeripheral3.Click += ButtonPeripheral_Click;
|
||||||
|
|
||||||
|
buttonPeripheral1.MouseEnter += ButtonPeripheral_MouseEnter;
|
||||||
|
buttonPeripheral2.MouseEnter += ButtonPeripheral_MouseEnter;
|
||||||
|
buttonPeripheral3.MouseEnter += ButtonPeripheral_MouseEnter;
|
||||||
|
|
||||||
|
buttonBatteryFull.MouseEnter += ButtonBatteryFull_MouseEnter;
|
||||||
|
buttonBatteryFull.MouseLeave += ButtonBatteryFull_MouseLeave;
|
||||||
|
buttonBatteryFull.Click += ButtonBatteryFull_Click;
|
||||||
|
|
||||||
|
Text = "G-Helper " + (ProcessHelper.IsUserAdministrator() ? "—" : "-") + " " + AppConfig.GetModelShort();
|
||||||
TopMost = AppConfig.Is("topmost");
|
TopMost = AppConfig.Is("topmost");
|
||||||
|
|
||||||
|
//This will auto position the window again when it resizes. Might mess with position if people drag the window somewhere else.
|
||||||
|
this.Resize += SettingsForm_Resize;
|
||||||
SetContextMenu();
|
SetContextMenu();
|
||||||
|
|
||||||
|
VisualiseFnLock();
|
||||||
|
buttonFnLock.Click += ButtonFnLock_Click;
|
||||||
|
|
||||||
|
panelPerformance.Focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingsForm_LostFocus(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
lastLostFocus = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonBatteryFull_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BatteryControl.ToggleBatteryLimitFull();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonBatteryFull_MouseLeave(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
batteryFullMouseOver = false;
|
||||||
|
RefreshSensors(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonBatteryFull_MouseEnter(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
batteryFullMouseOver = true;
|
||||||
|
labelCharge.Text = Properties.Strings.BatteryLimitFull;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SettingsForm_Resize(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Left = Screen.FromControl(this).WorkingArea.Width - 10 - Width;
|
||||||
|
Top = Screen.FromControl(this).WorkingArea.Height - 10 - Height;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PanelBattery_MouseEnter(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
batteryMouseOver = true;
|
||||||
|
ShowBatteryWear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PanelBattery_MouseLeave(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
batteryMouseOver = false;
|
||||||
|
RefreshSensors(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ShowBatteryWear()
|
||||||
|
{
|
||||||
|
//Refresh again only after 15 Minutes since the last refresh
|
||||||
|
if (lastBatteryRefresh == 0 || Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastBatteryRefresh) > 15 * 60_000)
|
||||||
|
{
|
||||||
|
lastBatteryRefresh = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||||
|
HardwareControl.RefreshBatteryHealth();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (HardwareControl.batteryHealth != -1)
|
||||||
|
{
|
||||||
|
labelCharge.Text = Properties.Strings.BatteryHealth + ": " + Math.Round(HardwareControl.batteryHealth, 1) + "%";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SettingsForm_VisibleChanged(object? sender, EventArgs e)
|
private void SettingsForm_VisibleChanged(object? sender, EventArgs e)
|
||||||
@@ -186,24 +276,42 @@ namespace GHelper
|
|||||||
if (this.Visible)
|
if (this.Visible)
|
||||||
{
|
{
|
||||||
screenControl.InitScreen();
|
screenControl.InitScreen();
|
||||||
gpuControl.InitXGM();
|
VisualizeXGM();
|
||||||
|
|
||||||
|
Task.Run((Action)RefreshPeripheralsBattery);
|
||||||
updateControl.CheckForUpdates();
|
updateControl.CheckForUpdates();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RefreshPeripheralsBattery()
|
||||||
|
{
|
||||||
|
PeripheralsProvider.RefreshBatteryForAllDevices(true);
|
||||||
|
}
|
||||||
|
|
||||||
private void ButtonUpdates_Click(object? sender, EventArgs e)
|
private void ButtonUpdates_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (updates == null || updates.Text == "")
|
if (updatesForm == null || updatesForm.Text == "")
|
||||||
{
|
{
|
||||||
updates = new Updates();
|
updatesForm = new Updates();
|
||||||
updates.Show();
|
AddOwnedForm(updatesForm);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updatesForm.Visible)
|
||||||
|
{
|
||||||
|
updatesForm.Close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
updates.Close();
|
updatesForm.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void VisualiseMatrix(string image)
|
||||||
|
{
|
||||||
|
if (matrixForm == null || matrixForm.Text == "") return;
|
||||||
|
matrixForm.VisualiseMatrix(image);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void WndProc(ref Message m)
|
protected override void WndProc(ref Message m)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -217,7 +325,7 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
Logger.WriteLine("Monitor Power Off");
|
Logger.WriteLine("Monitor Power Off");
|
||||||
AsusUSB.ApplyBrightness(0);
|
Aura.ApplyBrightness(0);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Logger.WriteLine("Monitor Power On");
|
Logger.WriteLine("Monitor Power On");
|
||||||
@@ -314,7 +422,7 @@ namespace GHelper
|
|||||||
//contextMenuStrip.ShowCheckMargin = true;
|
//contextMenuStrip.ShowCheckMargin = true;
|
||||||
contextMenuStrip.RenderMode = ToolStripRenderMode.System;
|
contextMenuStrip.RenderMode = ToolStripRenderMode.System;
|
||||||
|
|
||||||
if (CheckSystemDarkModeStatus())
|
if (darkTheme)
|
||||||
{
|
{
|
||||||
contextMenuStrip.BackColor = this.BackColor;
|
contextMenuStrip.BackColor = this.BackColor;
|
||||||
contextMenuStrip.ForeColor = this.ForeColor;
|
contextMenuStrip.ForeColor = this.ForeColor;
|
||||||
@@ -441,14 +549,30 @@ namespace GHelper
|
|||||||
private void CheckMatrix_CheckedChanged(object? sender, EventArgs e)
|
private void CheckMatrix_CheckedChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("matrix_auto", checkMatrix.Checked ? 1 : 0);
|
AppConfig.Set("matrix_auto", checkMatrix.Checked ? 1 : 0);
|
||||||
matrix.SetMatrix();
|
matrixControl.SetMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void ButtonMatrix_Click(object? sender, EventArgs e)
|
private void ButtonMatrix_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
matrix.OpenMatrixPicture();
|
|
||||||
|
if (matrixForm == null || matrixForm.Text == "")
|
||||||
|
{
|
||||||
|
matrixForm = new Matrix();
|
||||||
|
AddOwnedForm(matrixForm);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (matrixForm.Visible)
|
||||||
|
{
|
||||||
|
matrixForm.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
matrixForm.FormPosition();
|
||||||
|
matrixForm.Show();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetMatrixRunning(int mode)
|
public void SetMatrixRunning(int mode)
|
||||||
@@ -456,26 +580,27 @@ namespace GHelper
|
|||||||
Invoke(delegate
|
Invoke(delegate
|
||||||
{
|
{
|
||||||
comboMatrixRunning.SelectedIndex = mode;
|
comboMatrixRunning.SelectedIndex = mode;
|
||||||
|
if (comboMatrix.SelectedIndex == 0) comboMatrix.SelectedIndex = 3;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ComboMatrixRunning_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboMatrixRunning_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("matrix_running", comboMatrixRunning.SelectedIndex);
|
AppConfig.Set("matrix_running", comboMatrixRunning.SelectedIndex);
|
||||||
matrix.SetMatrix();
|
matrixControl.SetMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ComboMatrix_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboMatrix_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("matrix_brightness", comboMatrix.SelectedIndex);
|
AppConfig.Set("matrix_brightness", comboMatrix.SelectedIndex);
|
||||||
matrix.SetMatrix();
|
matrixControl.SetMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void LabelCPUFan_Click(object? sender, EventArgs e)
|
private void LabelCPUFan_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("fan_rpm", (AppConfig.Get("fan_rpm") == 1) ? 0 : 1);
|
FanSensorControl.fanRpm = !FanSensorControl.fanRpm;
|
||||||
RefreshSensors(true);
|
RefreshSensors(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -489,8 +614,7 @@ namespace GHelper
|
|||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
AppConfig.Set("aura_color2", colorDlg.Color.ToArgb());
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,14 +625,19 @@ namespace GHelper
|
|||||||
|
|
||||||
private void ButtonKeyboard_Click(object? sender, EventArgs e)
|
private void ButtonKeyboard_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (keyb == null || keyb.Text == "")
|
if (extraForm == null || extraForm.Text == "")
|
||||||
{
|
{
|
||||||
keyb = new Extra();
|
extraForm = new Extra();
|
||||||
keyb.Show();
|
AddOwnedForm(extraForm);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (extraForm.Visible)
|
||||||
|
{
|
||||||
|
extraForm.Close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
keyb.Close();
|
extraForm.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -516,26 +645,35 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
Invoke(delegate
|
Invoke(delegate
|
||||||
{
|
{
|
||||||
if (fans != null && fans.Text != "") fans.InitAll();
|
if (fansForm != null && fansForm.Text != "") fansForm.InitAll();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void GPUInit()
|
||||||
|
{
|
||||||
|
Invoke(delegate
|
||||||
|
{
|
||||||
|
if (fansForm != null && fansForm.Text != "") fansForm.InitGPU();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FansToggle(int index = 0)
|
public void FansToggle(int index = 0)
|
||||||
{
|
{
|
||||||
if (fans == null || fans.Text == "")
|
if (fansForm == null || fansForm.Text == "")
|
||||||
{
|
{
|
||||||
fans = new Fans();
|
fansForm = new Fans();
|
||||||
|
AddOwnedForm(fansForm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fans.Visible)
|
if (fansForm.Visible)
|
||||||
{
|
{
|
||||||
fans.Close();
|
fansForm.Close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fans.FormPosition();
|
fansForm.FormPosition();
|
||||||
fans.Show();
|
fansForm.Show();
|
||||||
fans.ToggleNavigation(index);
|
fansForm.ToggleNavigation(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -555,32 +693,31 @@ namespace GHelper
|
|||||||
if (colorDlg.ShowDialog() == DialogResult.OK)
|
if (colorDlg.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
AppConfig.Set("aura_color", colorDlg.Color.ToArgb());
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitAura()
|
public void InitAura()
|
||||||
{
|
{
|
||||||
AsusUSB.Mode = AppConfig.Get("aura_mode");
|
Aura.Mode = (AuraMode)AppConfig.Get("aura_mode");
|
||||||
AsusUSB.Speed = AppConfig.Get("aura_speed");
|
Aura.Speed = (AuraSpeed)AppConfig.Get("aura_speed");
|
||||||
AsusUSB.SetColor(AppConfig.Get("aura_color"));
|
Aura.SetColor(AppConfig.Get("aura_color"));
|
||||||
AsusUSB.SetColor2(AppConfig.Get("aura_color2"));
|
Aura.SetColor2(AppConfig.Get("aura_color2"));
|
||||||
|
|
||||||
comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList;
|
comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
comboKeyboard.DataSource = new BindingSource(AsusUSB.GetModes(), null);
|
comboKeyboard.DataSource = new BindingSource(Aura.GetModes(), null);
|
||||||
comboKeyboard.DisplayMember = "Value";
|
comboKeyboard.DisplayMember = "Value";
|
||||||
comboKeyboard.ValueMember = "Key";
|
comboKeyboard.ValueMember = "Key";
|
||||||
comboKeyboard.SelectedValue = AsusUSB.Mode;
|
comboKeyboard.SelectedValue = Aura.Mode;
|
||||||
comboKeyboard.SelectedValueChanged += ComboKeyboard_SelectedValueChanged;
|
comboKeyboard.SelectedValueChanged += ComboKeyboard_SelectedValueChanged;
|
||||||
|
|
||||||
|
|
||||||
if (AsusUSB.HasColor())
|
if (AppConfig.IsSingleColor())
|
||||||
{
|
{
|
||||||
panelColor.Visible = false;
|
panelColor.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("GA401I"))
|
if (AppConfig.NoAura())
|
||||||
{
|
{
|
||||||
comboKeyboard.Visible = false;
|
comboKeyboard.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -589,17 +726,29 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetAura()
|
||||||
|
{
|
||||||
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
Aura.ApplyAura();
|
||||||
|
VisualiseAura();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void VisualiseAura()
|
public void VisualiseAura()
|
||||||
{
|
{
|
||||||
pictureColor.BackColor = AsusUSB.Color1;
|
Invoke(delegate
|
||||||
pictureColor2.BackColor = AsusUSB.Color2;
|
{
|
||||||
pictureColor2.Visible = AsusUSB.HasSecondColor();
|
pictureColor.BackColor = Aura.Color1;
|
||||||
|
pictureColor2.BackColor = Aura.Color2;
|
||||||
|
pictureColor2.Visible = Aura.HasSecondColor();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitMatrix()
|
public void InitMatrix()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!matrix.IsValid)
|
if (!matrixControl.IsValid)
|
||||||
{
|
{
|
||||||
panelMatrix.Visible = false;
|
panelMatrix.Visible = false;
|
||||||
return;
|
return;
|
||||||
@@ -620,13 +769,14 @@ namespace GHelper
|
|||||||
comboKeyboard.SelectedIndex += 1;
|
comboKeyboard.SelectedIndex += 1;
|
||||||
else
|
else
|
||||||
comboKeyboard.SelectedIndex = 0;
|
comboKeyboard.SelectedIndex = 0;
|
||||||
|
|
||||||
|
Program.toast.RunToast(comboKeyboard.GetItemText(comboKeyboard.SelectedItem), ToastIcon.BacklightUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
|
private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
|
AppConfig.Set("aura_mode", (int)comboKeyboard.SelectedValue);
|
||||||
AsusUSB.ApplyAura();
|
SetAura();
|
||||||
VisualiseAura();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -650,7 +800,7 @@ namespace GHelper
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void VisualiseScreen(bool screenEnabled, bool screenAuto, int frequency, int maxFrequency, int overdrive, bool overdriveSetting, int miniled)
|
public void VisualiseScreen(bool screenEnabled, bool screenAuto, int frequency, int maxFrequency, int overdrive, bool overdriveSetting, int miniled, bool hdr)
|
||||||
{
|
{
|
||||||
|
|
||||||
ButtonEnabled(button60Hz, screenEnabled);
|
ButtonEnabled(button60Hz, screenEnabled);
|
||||||
@@ -691,7 +841,8 @@ namespace GHelper
|
|||||||
|
|
||||||
if (miniled >= 0)
|
if (miniled >= 0)
|
||||||
{
|
{
|
||||||
buttonMiniled.Activated = (miniled == 1);
|
buttonMiniled.Activated = (miniled == 1) || hdr;
|
||||||
|
buttonMiniled.Enabled = !hdr;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -702,19 +853,45 @@ namespace GHelper
|
|||||||
|
|
||||||
private void ButtonQuit_Click(object? sender, EventArgs e)
|
private void ButtonQuit_Click(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
matrix.Dispose();
|
matrixControl.Dispose();
|
||||||
Close();
|
Close();
|
||||||
Program.trayIcon.Visible = false;
|
Program.trayIcon.Visible = false;
|
||||||
Application.Exit();
|
Application.Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Closes all forms except the settings. Hides the settings
|
||||||
|
/// </summary>
|
||||||
public void HideAll()
|
public void HideAll()
|
||||||
{
|
{
|
||||||
this.Hide();
|
this.Hide();
|
||||||
if (fans != null && fans.Text != "") fans.Close();
|
if (fansForm != null && fansForm.Text != "") fansForm.Close();
|
||||||
if (keyb != null && keyb.Text != "") keyb.Close();
|
if (extraForm != null && extraForm.Text != "") extraForm.Close();
|
||||||
|
if (updatesForm != null && updatesForm.Text != "") updatesForm.Close();
|
||||||
|
if (matrixForm != null && matrixForm.Text != "") matrixForm.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Brings all visible windows to the top, with settings being the focus
|
||||||
|
/// </summary>
|
||||||
|
public void ShowAll()
|
||||||
|
{
|
||||||
|
this.Activate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Check if any of fans, keyboard, update, or itself has focus
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Focus state</returns>
|
||||||
|
public bool HasAnyFocus(bool lostFocusCheck = false)
|
||||||
|
{
|
||||||
|
return (fansForm != null && fansForm.ContainsFocus) ||
|
||||||
|
(extraForm != null && extraForm.ContainsFocus) ||
|
||||||
|
(updatesForm != null && updatesForm.ContainsFocus) ||
|
||||||
|
(matrixForm != null && matrixForm.ContainsFocus) ||
|
||||||
|
this.ContainsFocus ||
|
||||||
|
(lostFocusCheck && Math.Abs(DateTimeOffset.Now.ToUnixTimeMilliseconds() - lastLostFocus) < 300);
|
||||||
|
}
|
||||||
|
|
||||||
private void SettingsForm_FormClosing(object? sender, FormClosingEventArgs e)
|
private void SettingsForm_FormClosing(object? sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -762,36 +939,45 @@ namespace GHelper
|
|||||||
string cpuTemp = "";
|
string cpuTemp = "";
|
||||||
string gpuTemp = "";
|
string gpuTemp = "";
|
||||||
string battery = "";
|
string battery = "";
|
||||||
|
string charge = "";
|
||||||
|
|
||||||
HardwareControl.ReadSensors();
|
HardwareControl.ReadSensors();
|
||||||
|
Task.Run((Action)PeripheralsProvider.RefreshBatteryForAllDevices);
|
||||||
|
|
||||||
if (HardwareControl.cpuTemp > 0)
|
if (HardwareControl.cpuTemp > 0)
|
||||||
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C";
|
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C";
|
||||||
|
|
||||||
|
if (HardwareControl.batteryCapacity > 0)
|
||||||
|
charge = Properties.Strings.BatteryCharge + ": " + Math.Round(HardwareControl.batteryCapacity, 1) + "% ";
|
||||||
|
|
||||||
if (HardwareControl.batteryRate < 0)
|
if (HardwareControl.batteryRate < 0)
|
||||||
battery = Properties.Strings.Discharging + ": " + Math.Round(-(decimal)HardwareControl.batteryRate, 1).ToString() + "W";
|
battery = Properties.Strings.Discharging + ": " + Math.Round(-(decimal)HardwareControl.batteryRate, 1).ToString() + "W";
|
||||||
else if (HardwareControl.batteryRate > 0)
|
else if (HardwareControl.batteryRate > 0)
|
||||||
battery = Properties.Strings.Charging + ": " + Math.Round((decimal)HardwareControl.batteryRate, 1).ToString() + "W";
|
battery = Properties.Strings.Charging + ": " + Math.Round((decimal)HardwareControl.batteryRate, 1).ToString() + "W";
|
||||||
|
|
||||||
|
|
||||||
if (HardwareControl.gpuTemp > 0)
|
if (HardwareControl.gpuTemp > 0)
|
||||||
{
|
{
|
||||||
gpuTemp = $": {HardwareControl.gpuTemp}°C";
|
gpuTemp = $": {HardwareControl.gpuTemp}°C";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string trayTip = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
||||||
|
if (gpuTemp.Length > 0) trayTip += "\nGPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
||||||
|
if (battery.Length > 0) trayTip += "\n" + battery;
|
||||||
|
|
||||||
Program.settingsForm.BeginInvoke(delegate
|
Program.settingsForm.BeginInvoke(delegate
|
||||||
{
|
{
|
||||||
labelCPUFan.Text = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
labelCPUFan.Text = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
||||||
labelGPUFan.Text = "GPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
labelGPUFan.Text = "GPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
||||||
if (HardwareControl.midFan is not null)
|
if (HardwareControl.midFan is not null)
|
||||||
labelMidFan.Text = "Mid" + HardwareControl.midFan;
|
labelMidFan.Text = "Mid " + HardwareControl.midFan;
|
||||||
|
|
||||||
labelBattery.Text = battery;
|
labelBattery.Text = battery;
|
||||||
|
if (!batteryMouseOver && !batteryFullMouseOver) labelCharge.Text = charge;
|
||||||
|
|
||||||
|
//panelPerformance.AccessibleName = labelPerf.Text + " " + trayTip;
|
||||||
});
|
});
|
||||||
|
|
||||||
string trayTip = "CPU" + cpuTemp + " " + HardwareControl.cpuFan;
|
|
||||||
if (gpuTemp.Length > 0) trayTip += "\nGPU" + gpuTemp + " " + HardwareControl.gpuFan;
|
|
||||||
if (battery.Length > 0) trayTip += "\n" + battery;
|
|
||||||
|
|
||||||
Program.trayIcon.Text = trayTip;
|
Program.trayIcon.Text = trayTip;
|
||||||
|
|
||||||
@@ -799,8 +985,8 @@ namespace GHelper
|
|||||||
|
|
||||||
public void LabelFansResult(string text)
|
public void LabelFansResult(string text)
|
||||||
{
|
{
|
||||||
if (fans != null && fans.Text != "")
|
if (fansForm != null && fansForm.Text != "")
|
||||||
fans.LabelFansResult(text);
|
fansForm.LabelFansResult(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ShowMode(int mode)
|
public void ShowMode(int mode)
|
||||||
@@ -849,6 +1035,7 @@ namespace GHelper
|
|||||||
Invoke(delegate
|
Invoke(delegate
|
||||||
{
|
{
|
||||||
labelPerf.Text = modeText;
|
labelPerf.Text = modeText;
|
||||||
|
panelPerformance.AccessibleName = labelPerf.Text; // + ". " + Program.trayIcon.Text;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -856,28 +1043,40 @@ namespace GHelper
|
|||||||
public void AutoKeyboard()
|
public void AutoKeyboard()
|
||||||
{
|
{
|
||||||
|
|
||||||
AsusUSB.ApplyAuraPower();
|
if (!AppConfig.Is("skip_aura"))
|
||||||
AsusUSB.ApplyAura();
|
{
|
||||||
|
Aura.ApplyPower();
|
||||||
|
Aura.ApplyAura();
|
||||||
|
}
|
||||||
|
|
||||||
InputDispatcher.SetBacklightAuto(true);
|
InputDispatcher.SetBacklightAuto(true);
|
||||||
|
|
||||||
if (Program.acpi.IsXGConnected())
|
if (Program.acpi.IsXGConnected())
|
||||||
AsusUSB.ApplyXGMLight(AppConfig.Is("xmg_light"));
|
XGM.Light(AppConfig.Is("xmg_light"));
|
||||||
|
|
||||||
if (AppConfig.ContainsModel("X16") || AppConfig.ContainsModel("X13")) InputDispatcher.TabletMode();
|
if (AppConfig.HasTabletMode()) InputDispatcher.TabletMode();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void VisualizeXGM(bool connected, bool activated)
|
public void VisualizeXGM(int GPUMode = -1)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
bool connected = Program.acpi.IsXGConnected();
|
||||||
buttonXGM.Enabled = buttonXGM.Visible = connected;
|
buttonXGM.Enabled = buttonXGM.Visible = connected;
|
||||||
|
|
||||||
if (!connected) return;
|
if (!connected) return;
|
||||||
|
|
||||||
buttonXGM.Activated = activated;
|
if (GPUMode != -1)
|
||||||
|
ButtonEnabled(buttonXGM, AppConfig.IsNoGPUModes() || GPUMode != AsusACPI.GPUModeEco);
|
||||||
|
|
||||||
if (activated)
|
|
||||||
|
int activated = Program.acpi.DeviceGet(AsusACPI.GPUXG);
|
||||||
|
Logger.WriteLine("XGM Activated flag: " + activated);
|
||||||
|
|
||||||
|
buttonXGM.Activated = activated == 1;
|
||||||
|
|
||||||
|
if (activated == 1)
|
||||||
{
|
{
|
||||||
ButtonEnabled(buttonOptimized, false);
|
ButtonEnabled(buttonOptimized, false);
|
||||||
ButtonEnabled(buttonEco, false);
|
ButtonEnabled(buttonEco, false);
|
||||||
@@ -894,16 +1093,30 @@ namespace GHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HideUltimateMode()
|
public void VisualiseGPUButtons(bool eco = true, bool ultimate = true)
|
||||||
{
|
{
|
||||||
tableGPU.Controls.Remove(buttonUltimate);
|
if (!eco)
|
||||||
tablePerf.ColumnCount = 0;
|
{
|
||||||
tableGPU.ColumnCount = 0;
|
menuEco.Visible = buttonEco.Visible = false;
|
||||||
tableScreen.ColumnCount = 0;
|
menuOptimized.Visible = buttonOptimized.Visible = false;
|
||||||
menuUltimate.Visible = false;
|
buttonStopGPU.Visible = true;
|
||||||
|
tableGPU.ColumnCount = 3;
|
||||||
|
tableScreen.ColumnCount = 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buttonStopGPU.Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ultimate)
|
||||||
|
{
|
||||||
|
menuUltimate.Visible = buttonUltimate.Visible = false;
|
||||||
|
tableGPU.ColumnCount = 3;
|
||||||
|
tableScreen.ColumnCount = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HideGPUModes()
|
public void HideGPUModes(bool gpuExists)
|
||||||
{
|
{
|
||||||
isGpuSection = false;
|
isGpuSection = false;
|
||||||
|
|
||||||
@@ -911,14 +1124,17 @@ namespace GHelper
|
|||||||
buttonStandard.Visible = false;
|
buttonStandard.Visible = false;
|
||||||
buttonUltimate.Visible = false;
|
buttonUltimate.Visible = false;
|
||||||
buttonOptimized.Visible = false;
|
buttonOptimized.Visible = false;
|
||||||
|
|
||||||
buttonStopGPU.Visible = true;
|
buttonStopGPU.Visible = true;
|
||||||
|
|
||||||
|
tableGPU.ColumnCount = 0;
|
||||||
|
|
||||||
SetContextMenu();
|
SetContextMenu();
|
||||||
if (HardwareControl.FormatFan(Program.acpi.DeviceGet(AsusACPI.GPU_Fan)) is null) panelGPU.Visible = false;
|
|
||||||
|
panelGPU.Visible = gpuExists;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void LockGPUModes(string text = null)
|
public void LockGPUModes(string text = null)
|
||||||
{
|
{
|
||||||
Invoke(delegate
|
Invoke(delegate
|
||||||
@@ -961,7 +1177,6 @@ namespace GHelper
|
|||||||
buttonOptimized.Activated = GPUAuto;
|
buttonOptimized.Activated = GPUAuto;
|
||||||
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeEco;
|
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeEco;
|
||||||
Program.trayIcon.Icon = Properties.Resources.eco;
|
Program.trayIcon.Icon = Properties.Resources.eco;
|
||||||
ButtonEnabled(buttonXGM, false);
|
|
||||||
break;
|
break;
|
||||||
case AsusACPI.GPUModeUltimate:
|
case AsusACPI.GPUModeUltimate:
|
||||||
buttonUltimate.Activated = true;
|
buttonUltimate.Activated = true;
|
||||||
@@ -974,10 +1189,12 @@ namespace GHelper
|
|||||||
buttonOptimized.Activated = GPUAuto;
|
buttonOptimized.Activated = GPUAuto;
|
||||||
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeStandard;
|
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeStandard;
|
||||||
Program.trayIcon.Icon = Properties.Resources.standard;
|
Program.trayIcon.Icon = Properties.Resources.standard;
|
||||||
ButtonEnabled(buttonXGM, true);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VisualizeXGM(GPUMode);
|
||||||
|
|
||||||
|
|
||||||
if (isGpuSection)
|
if (isGpuSection)
|
||||||
{
|
{
|
||||||
menuEco.Checked = buttonEco.Activated;
|
menuEco.Checked = buttonEco.Activated;
|
||||||
@@ -1015,8 +1232,178 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit + ": " + limit.ToString() + "%";
|
labelBatteryTitle.Text = Properties.Strings.BatteryChargeLimit + ": " + limit.ToString() + "%";
|
||||||
sliderBattery.Value = limit;
|
sliderBattery.Value = limit;
|
||||||
|
VisualiseBatteryFull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void VisualiseBatteryFull()
|
||||||
|
{
|
||||||
|
if (AppConfig.Is("charge_full"))
|
||||||
|
{
|
||||||
|
buttonBatteryFull.BackColor = colorStandard;
|
||||||
|
buttonBatteryFull.ForeColor = SystemColors.ControlLightLight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buttonBatteryFull.BackColor = buttonSecond;
|
||||||
|
buttonBatteryFull.ForeColor = SystemColors.ControlDark;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void VisualizePeripherals()
|
||||||
|
{
|
||||||
|
if (!PeripheralsProvider.IsAnyPeripheralConnect())
|
||||||
|
{
|
||||||
|
panelPeripherals.Visible = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Button[] buttons = new Button[] { buttonPeripheral1, buttonPeripheral2, buttonPeripheral3 };
|
||||||
|
|
||||||
|
//we only support 4 devces for now. Who has more than 4 mice connected to the same PC anyways....
|
||||||
|
List<IPeripheral> lp = PeripheralsProvider.AllPeripherals();
|
||||||
|
|
||||||
|
for (int i = 0; i < lp.Count && i < buttons.Length; ++i)
|
||||||
|
{
|
||||||
|
IPeripheral m = lp.ElementAt(i);
|
||||||
|
Button b = buttons[i];
|
||||||
|
|
||||||
|
if (m.IsDeviceReady)
|
||||||
|
{
|
||||||
|
if (m.HasBattery())
|
||||||
|
{
|
||||||
|
b.Text = m.GetDisplayName() + "\n" + m.Battery + "%"
|
||||||
|
+ (m.Charging ? "(" + Properties.Strings.Charging + ")" : "");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
b.Text = m.GetDisplayName();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Mouse is either not connected or in standby
|
||||||
|
b.Text = m.GetDisplayName() + "\n(" + Properties.Strings.NotConnected + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (m.DeviceType())
|
||||||
|
{
|
||||||
|
case PeripheralType.Mouse:
|
||||||
|
b.Image = ControlHelper.TintImage(Properties.Resources.icons8_maus_32, b.ForeColor);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PeripheralType.Keyboard:
|
||||||
|
b.Image = ControlHelper.TintImage(Properties.Resources.icons8_keyboard_32, b.ForeColor);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
b.Visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = lp.Count; i < buttons.Length; ++i)
|
||||||
|
{
|
||||||
|
buttons[i].Visible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
panelPeripherals.Visible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonPeripheral_MouseEnter(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int index = 0;
|
||||||
|
if (sender == buttonPeripheral2) index = 1;
|
||||||
|
if (sender == buttonPeripheral3) index = 2;
|
||||||
|
IPeripheral iph = PeripheralsProvider.AllPeripherals().ElementAt(index);
|
||||||
|
|
||||||
|
|
||||||
|
if (iph is null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!iph.IsDeviceReady)
|
||||||
|
{
|
||||||
|
//Refresh battery on hover if the device is marked as "Not Ready"
|
||||||
|
iph.ReadBattery();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonPeripheral_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (mouseSettings is not null)
|
||||||
|
{
|
||||||
|
mouseSettings.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = 0;
|
||||||
|
if (sender == buttonPeripheral2) index = 1;
|
||||||
|
if (sender == buttonPeripheral3) index = 2;
|
||||||
|
|
||||||
|
IPeripheral iph = PeripheralsProvider.AllPeripherals().ElementAt(index);
|
||||||
|
|
||||||
|
if (iph is null)
|
||||||
|
{
|
||||||
|
//Can only happen when the user hits the button in the exact moment a device is disconnected.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iph.DeviceType() == PeripheralType.Mouse)
|
||||||
|
{
|
||||||
|
AsusMouse? am = iph as AsusMouse;
|
||||||
|
if (am is null || !am.IsDeviceReady)
|
||||||
|
{
|
||||||
|
//Should not happen if all device classes are implemented correctly. But better safe than sorry.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mouseSettings = new AsusMouseSettings(am);
|
||||||
|
mouseSettings.TopMost = true;
|
||||||
|
mouseSettings.FormClosed += MouseSettings_FormClosed;
|
||||||
|
mouseSettings.Disposed += MouseSettings_Disposed;
|
||||||
|
if (!mouseSettings.IsDisposed)
|
||||||
|
{
|
||||||
|
mouseSettings.Show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mouseSettings = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MouseSettings_Disposed(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mouseSettings = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MouseSettings_FormClosed(object? sender, FormClosedEventArgs e)
|
||||||
|
{
|
||||||
|
mouseSettings = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void VisualiseFnLock()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (AppConfig.Is("fn_lock"))
|
||||||
|
{
|
||||||
|
buttonFnLock.BackColor = colorStandard;
|
||||||
|
buttonFnLock.ForeColor = SystemColors.ControlLightLight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buttonFnLock.BackColor = buttonSecond;
|
||||||
|
buttonFnLock.ForeColor = SystemColors.ControlDark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ButtonFnLock_Click(object? sender, EventArgs e)
|
||||||
|
{
|
||||||
|
InputDispatcher.ToggleFnLock();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,12 @@ public static class ControlHelper
|
|||||||
combo.ButtonColor = RForm.buttonMain;
|
combo.ButtonColor = RForm.buttonMain;
|
||||||
combo.ArrowColor = RForm.foreMain;
|
combo.ArrowColor = RForm.foreMain;
|
||||||
}
|
}
|
||||||
|
var numbericUpDown = control as NumericUpDown;
|
||||||
|
if(numbericUpDown is not null)
|
||||||
|
{
|
||||||
|
numbericUpDown.ForeColor = RForm.foreMain;
|
||||||
|
numbericUpDown.BackColor = RForm.buttonMain;
|
||||||
|
}
|
||||||
|
|
||||||
var gb = control as GroupBox;
|
var gb = control as GroupBox;
|
||||||
if (gb != null)
|
if (gb != null)
|
||||||
@@ -172,4 +178,20 @@ public static class ControlHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Image TintImage(Image image, Color tintColor)
|
||||||
|
{
|
||||||
|
var pic = new Bitmap(image);
|
||||||
|
|
||||||
|
for (int y = 0; (y <= (pic.Height - 1)); y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; (x <= (pic.Width - 1)); x++)
|
||||||
|
{
|
||||||
|
Color col = pic.GetPixel(x, y);
|
||||||
|
pic.SetPixel(x, y, Color.FromArgb(col.A, tintColor.R, tintColor.G, tintColor.B));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return pic;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,23 @@ namespace GHelper.UI
|
|||||||
|
|
||||||
private static bool IsDarkTheme()
|
private static bool IsDarkTheme()
|
||||||
{
|
{
|
||||||
|
string? uiMode = AppConfig.GetString("ui_mode");
|
||||||
|
|
||||||
|
if (uiMode is not null && uiMode.ToLower() == "dark")
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uiMode is not null && uiMode.ToLower() == "light")
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uiMode is not null && uiMode.ToLower() == "windows")
|
||||||
|
{
|
||||||
|
return CheckSystemDarkModeStatus();
|
||||||
|
}
|
||||||
|
|
||||||
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize");
|
using var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Themes\Personalize");
|
||||||
var registryValueObject = key?.GetValue("AppsUseLightTheme");
|
var registryValueObject = key?.GetValue("AppsUseLightTheme");
|
||||||
|
|
||||||
@@ -71,7 +88,7 @@ namespace GHelper.UI
|
|||||||
|
|
||||||
public bool InitTheme(bool setDPI = false)
|
public bool InitTheme(bool setDPI = false)
|
||||||
{
|
{
|
||||||
bool newDarkTheme = CheckSystemDarkModeStatus();
|
bool newDarkTheme = IsDarkTheme();
|
||||||
bool changed = darkTheme != newDarkTheme;
|
bool changed = darkTheme != newDarkTheme;
|
||||||
darkTheme = newDarkTheme;
|
darkTheme = newDarkTheme;
|
||||||
|
|
||||||
|
|||||||