forked from NG-SD-Plugins/PowerTools
525 lines
30 KiB
HTML
525 lines
30 KiB
HTML
<html>
|
|
<head>
|
|
<link rel="stylesheet" href="/steam_resource/css/2.css">
|
|
<link rel="stylesheet" href="/steam_resource/css/39.css">
|
|
<link rel="stylesheet" href="/steam_resource/css/library.css">
|
|
<script src="/static/library.js"></script>
|
|
<script>
|
|
// Python functions
|
|
function getVersion() {
|
|
return call_plugin_method("get_version", {});
|
|
}
|
|
|
|
function setCPUs(value, smt) {
|
|
return call_plugin_method("set_cpus", {"count":value, "smt": smt});
|
|
}
|
|
|
|
function getCPUs() {
|
|
return call_plugin_method("get_cpus", {});
|
|
}
|
|
|
|
function getSMT() {
|
|
return call_plugin_method("get_smt", {});
|
|
}
|
|
|
|
function setCPUBoost(value) {
|
|
return call_plugin_method("set_boost", {"enabled": value});
|
|
}
|
|
|
|
function getCPUBoost() {
|
|
return call_plugin_method("get_boost", {});
|
|
}
|
|
|
|
function setMaxBoost(index) {
|
|
return call_plugin_method("set_max_boost", {"index": index});
|
|
}
|
|
|
|
function getMaxBoost() {
|
|
return call_plugin_method("get_max_boost", {});
|
|
}
|
|
|
|
function setGPUPower(value, index) {
|
|
return call_plugin_method("set_gpu_power", {"value": value, "power_number": index});
|
|
}
|
|
|
|
function getGPUPower(index) {
|
|
return call_plugin_method("get_gpu_power", {"power_number": index});
|
|
}
|
|
|
|
function setFanTick(tick) {
|
|
return call_plugin_method("set_fan_tick", {"tick": tick});
|
|
}
|
|
|
|
function getFanTick() {
|
|
return call_plugin_method("get_fan_tick", {});
|
|
}
|
|
|
|
function getChargeNow() {
|
|
return call_plugin_method("get_charge_now", {});
|
|
}
|
|
|
|
function getChargeFull() {
|
|
return call_plugin_method("get_charge_full", {});
|
|
}
|
|
|
|
function getChargeDesign() {
|
|
return call_plugin_method("get_charge_design", {});
|
|
}
|
|
|
|
// other logic
|
|
|
|
async function onReady() {
|
|
let boostToggle = document.getElementById("boostToggle");
|
|
setToggleState(boostToggle, await getCPUBoost());
|
|
setToggleState(document.getElementById("smtToggle"), await getSMT());
|
|
selectNotch("cpuThreadsNotch", await getCPUs() - 1, 8);
|
|
selectNotch("frequencyNotch", await getMaxBoost(), 3);
|
|
await onReadyGPU();
|
|
selectNotch("fanNotch", await getFanTick(), 8);
|
|
await updateBatteryStats();
|
|
// this is unimportant; always do it last
|
|
await updateVersion();
|
|
window.setInterval(function() {updateBatteryStats().then(_ => {})}, 5000);
|
|
}
|
|
|
|
async function setCPUNotch(index) {
|
|
const ROOT_ID = "cpuThreadsNotch";
|
|
await setCPUs(index, getToggleState(document.getElementById("smtToggle")));
|
|
selectNotch(ROOT_ID, await getCPUs() - 1, 8);
|
|
}
|
|
|
|
function setToggleState(toggle, state) {
|
|
const ENABLED_CLASS = "gamepaddialog_On_yLrDA";
|
|
if (state && !toggle.classList.contains(ENABLED_CLASS)) {
|
|
toggle.classList.add(ENABLED_CLASS);
|
|
}
|
|
|
|
if (!state && toggle.classList.contains(ENABLED_CLASS)) {
|
|
toggle.classList.remove(ENABLED_CLASS);
|
|
}
|
|
}
|
|
|
|
function getToggleState(toggle) {
|
|
return toggle.classList.contains("gamepaddialog_On_yLrDA");
|
|
}
|
|
|
|
async function toggleCPUBoost() {
|
|
let toggle = document.getElementById("boostToggle");
|
|
let isActive = getToggleState(toggle);
|
|
await setCPUBoost(!isActive);
|
|
setToggleState(toggle, !isActive);
|
|
}
|
|
|
|
async function toggleCPUSMT() {
|
|
let toggle = document.getElementById("smtToggle");
|
|
let isActive = getToggleState(toggle);
|
|
let currentCPUs = await getCPUs();
|
|
if (currentCPUs == 4 && !isActive) {
|
|
// if all cores are running, enable all the threads as well
|
|
await setCPUs(8, !isActive);
|
|
} else {
|
|
await setCPUs(currentCPUs, !isActive);
|
|
}
|
|
|
|
setToggleState(toggle, !isActive);
|
|
selectNotch("cpuThreadsNotch", await getCPUs() - 1, 8);
|
|
}
|
|
|
|
async function setBoostNotch(index) {
|
|
const ROOT_ID = "frequencyNotch";
|
|
await setMaxBoost(index);
|
|
selectNotch(ROOT_ID, await getMaxBoost(), 3);
|
|
}
|
|
|
|
async function onSetFanNotch(index) {
|
|
const ROOT_ID = "fanNotch";
|
|
await setFanTick(index);
|
|
selectNotch(ROOT_ID, index, 8);
|
|
}
|
|
|
|
async function onReadyGPU() {
|
|
let power1_cap = await getGPUPower(1);
|
|
let power2_cap = await getGPUPower(2);
|
|
if (power1_cap <= 0) {
|
|
selectNotch("slowPPTNotch", 0, 3);
|
|
document.getElementById("slowPPTAutoDefault").innerText = "Default";
|
|
} else if (power1_cap > 15000000) {
|
|
selectNotch("slowPPTNotch", 2, 3);
|
|
document.getElementById("slowPPTAutoDefault").innerText = "Default";
|
|
} else {
|
|
selectNotch("slowPPTNotch", 1, 3);
|
|
}
|
|
|
|
if (power2_cap <= 0) {
|
|
selectNotch("fastPPTNotch", 0, 3);
|
|
document.getElementById("fastPPTAutoDefault").innerText = "Default";
|
|
} else if (power2_cap > 15000000) {
|
|
selectNotch("fastPPTNotch", 2, 3);
|
|
document.getElementById("fastPPTAutoDefault").innerText = "Default";
|
|
} else {
|
|
selectNotch("fastPPTNotch", 1, 3);
|
|
}
|
|
}
|
|
|
|
async function onSetSlowPPTNotch(index) {
|
|
const ROOT_ID = "slowPPTNotch";
|
|
document.getElementById("slowPPTAutoDefault").innerText = "Default";
|
|
if (index == 0) {
|
|
await setGPUPower(0, 1);
|
|
} else if (index == 1) {
|
|
await setGPUPower(15000000, 1);
|
|
} else {
|
|
await setGPUPower(29000000, 1);
|
|
}
|
|
selectNotch(ROOT_ID, index, 3);
|
|
}
|
|
|
|
async function onSetFastPPTNotch(index) {
|
|
const ROOT_ID = "fastPPTNotch";
|
|
document.getElementById("fastPPTAutoDefault").innerText = "Default";
|
|
if (index == 0) {
|
|
await setGPUPower(0, 2);
|
|
} else if (index == 1) {
|
|
await setGPUPower(15000000, 2);
|
|
} else {
|
|
await setGPUPower(30000000, 2);
|
|
}
|
|
selectNotch(ROOT_ID, index, 3);
|
|
}
|
|
|
|
function selectNotch(rootId, index, elements) {
|
|
// WARNING: this yeets any style in div of slider
|
|
const ENABLED_CLASS = "gamepadslider_TickActive_j418S";
|
|
//console.log("Selecting notches up to " + index);
|
|
let root = document.getElementById(rootId);
|
|
root.style = "--normalized-slider-value:" + index/(elements-1) + ";";
|
|
for (let i = 0; i < elements; i++) {
|
|
let notch = document.getElementById(rootId + i);
|
|
if (notch.classList.contains(ENABLED_CLASS) && i > index) {
|
|
notch.classList.remove(ENABLED_CLASS);
|
|
} else if (!notch.classList.contains(ENABLED_CLASS) && i <= index) {
|
|
notch.classList.add(ENABLED_CLASS);
|
|
}
|
|
}
|
|
}
|
|
|
|
async function updateBatteryStats() {
|
|
//console.log("Updating battery stats");
|
|
let batCapacityNow = document.getElementById("batCapacityNow");
|
|
let batCapacityFull = document.getElementById("batCapacityFull");
|
|
let chargeNow = await getChargeNow();
|
|
let chargeFull = await getChargeFull();
|
|
let chargeDesign = await getChargeDesign();
|
|
batCapacityNow.innerText = (7.7 * chargeNow / 1000000).toFixed(2).toString() + " Wh (" + (100 * chargeNow / chargeFull).toFixed(0).toString() + "%)";
|
|
batCapacityFull.innerText = (7.7 * chargeFull / 1000000).toFixed(2).toString() + " Wh (" + (100 * chargeFull / chargeDesign).toFixed(0).toString() + "%)";
|
|
}
|
|
|
|
let versionCount = -1;
|
|
async function updateVersion() {
|
|
let version = await getVersion();
|
|
let target = document.getElementById("versionStr");
|
|
target.innerText = "v" + version;
|
|
if (versionCount >= 9) {
|
|
target.innerText += " by NGnius ;) ";
|
|
versionCount = 0;
|
|
} else {
|
|
versionCount += 1;
|
|
}
|
|
}
|
|
|
|
</script>
|
|
<style type="text/css" media="screen"></style>
|
|
</head>
|
|
<body onload="onReady()" style="/*margin:0px;padding:0px;*/overflow-x:hidden;">
|
|
<!-- CPU -->
|
|
|
|
<!-- SMT toggle switch, roughly copied from https://github.com/SteamDeckHomebrew/ExtraSettingsPlugin/blob/main/main_view.html -->
|
|
<!-- Due to a bug in MangoHud, this has been hidden for now -->
|
|
<div class="quickaccessmenu_TabGroupPanel_1QO7b Panel Focusable">
|
|
<div class="quickaccesscontrols_PanelSectionRow_26R5w">
|
|
<div class="quickaccesscontrols_PanelSectionRow_26R5w">
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable" style="--indent-level:0;">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">
|
|
CPU SMT
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="smtToggle" tabindex="0" class="gamepaddialog_Toggle_9Ql-o Focusable" onclick="toggleCPUSMT()">
|
|
<div class="gamepaddialog_ToggleRail_2bl0i"></div>
|
|
<div class="gamepaddialog_ToggleSwitch_1PQpp"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldDescription_1W1to">Enables odd-numbered CPUs</div>
|
|
<div style="font-size:x-small;">
|
|
WARNING: Disabling crashes the performance overlay.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- CPUs selector -->
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_WithChildrenBelow_37xzV gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_ChildrenWidthFixed_ljcbL gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">Threads</div>
|
|
</div>
|
|
<div id="cpuThreadsNotch" class="gamepadslider_SliderControlAndNotches_23hjX Focusable" tabindex="0" style="--normalized-slider-value:0.5;">
|
|
<div class="gamepadslider_SliderControl_1udlG">
|
|
<div class="gamepadslider_SliderTrack_2_vG6 gamepadslider_SliderHasNotches_1Lr71 "></div>
|
|
<div class="gamepadslider_SliderHandleContainer_8xNY6">
|
|
<div class="gamepadslider_SliderHandle_11PBf"></div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotchContainer_2yM7S Panel Focusable">
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch0" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(1)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">1</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch1" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(2)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">2</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch2" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(3)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">3</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch3" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(4)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">4</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch4" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(5)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">5</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch5" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(6)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">6</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch6" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(7)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">7</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="cpuThreadsNotch7" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setCPUNotch(8)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">8</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- CPU Boost toggle switch, roughly copied from https://github.com/SteamDeckHomebrew/ExtraSettingsPlugin/blob/main/main_view.html -->
|
|
<div class="quickaccessmenu_TabGroupPanel_1QO7b Panel Focusable">
|
|
<div class="quickaccesscontrols_PanelSectionRow_26R5w">
|
|
<div class="quickaccesscontrols_PanelSectionRow_26R5w">
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable" style="--indent-level:0;">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">
|
|
CPU Boost
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="boostToggle" tabindex="0" class="gamepaddialog_Toggle_9Ql-o Focusable" onclick="toggleCPUBoost()">
|
|
<div class="gamepaddialog_ToggleRail_2bl0i"></div>
|
|
<div class="gamepaddialog_ToggleSwitch_1PQpp"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldDescription_1W1to">Allows the CPU to go above max frequency</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Frequency selector -->
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_WithChildrenBelow_37xzV gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_ChildrenWidthFixed_ljcbL gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">Max Frequency</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="frequencyNotch" class="gamepadslider_SliderControlAndNotches_23hjX Focusable" tabindex="0" style="--normalized-slider-value:0.5;">
|
|
<div class="gamepadslider_SliderControl_1udlG">
|
|
<div class="gamepadslider_SliderTrack_2_vG6 gamepadslider_SliderHasNotches_1Lr71 "></div>
|
|
<div class="gamepadslider_SliderHandleContainer_8xNY6">
|
|
<div class="gamepadslider_SliderHandle_11PBf"></div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotchContainer_2yM7S Panel Focusable">
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="frequencyNotch0" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='setBoostNotch(0)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW" style="margin-left:2em;">1.7GHz</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="frequencyNotch1" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='setBoostNotch(1)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">2.4GHz</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="frequencyNotch2" class="gamepadslider_SliderNotchTick_u8QEa" onclick='setBoostNotch(2)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW" style="margin-right:2em;">2.8GHz</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div style="font-size:x-small;">
|
|
WARNING: This will change the CPU governor.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- GPU -->
|
|
|
|
<!-- SlowPPT power limit (number 1) -->
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_WithChildrenBelow_37xzV gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_ChildrenWidthFixed_ljcbL gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">GPU SlowPPT Power</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="slowPPTNotch" class="gamepadslider_SliderControlAndNotches_23hjX Focusable" tabindex="0" style="--normalized-slider-value:0.33;">
|
|
<div class="gamepadslider_SliderControl_1udlG">
|
|
<div class="gamepadslider_SliderTrack_2_vG6 gamepadslider_SliderHasNotches_1Lr71 "></div>
|
|
<div class="gamepadslider_SliderHandleContainer_8xNY6">
|
|
<div class="gamepadslider_SliderHandle_11PBf"></div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotchContainer_2yM7S Panel Focusable">
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="slowPPTNotch0" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetSlowPPTNotch(0)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">0</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="slowPPTNotch1" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetSlowPPTNotch(1)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW" id="slowPPTAutoDefault">Auto</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="slowPPTNotch2" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetSlowPPTNotch(2)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">Max</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- FastPPT power limit (number 2) -->
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_WithChildrenBelow_37xzV gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_ChildrenWidthFixed_ljcbL gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">GPU FastPPT Power</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="fastPPTNotch" class="gamepadslider_SliderControlAndNotches_23hjX Focusable" tabindex="0" style="--normalized-slider-value:0.33;">
|
|
<div class="gamepadslider_SliderControl_1udlG">
|
|
<div class="gamepadslider_SliderTrack_2_vG6 gamepadslider_SliderHasNotches_1Lr71 "></div>
|
|
<div class="gamepadslider_SliderHandleContainer_8xNY6">
|
|
<div class="gamepadslider_SliderHandle_11PBf"></div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotchContainer_2yM7S Panel Focusable">
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fastPPTNotch0" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFastPPTNotch(0)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">0</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fastPPTNotch1" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFastPPTNotch(1)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW" id="fastPPTAutoDefault">Auto</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fastPPTNotch2" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFastPPTNotch(2)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">Max</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Fan RPM selector -->
|
|
<!-- TODO: Make this non-notched slider when PluginLoader PR#41 is merged -->
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_WithChildrenBelow_37xzV gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_ChildrenWidthFixed_ljcbL gamepaddialog_ExtraPaddingOnChildrenBelow_3nLNL gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">Fan RPM</div>
|
|
</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div id="fanNotch" class="gamepadslider_SliderControlAndNotches_23hjX Focusable" tabindex="0" style="--normalized-slider-value:0.33;">
|
|
<div class="gamepadslider_SliderControl_1udlG">
|
|
<div class="gamepadslider_SliderTrack_2_vG6 gamepadslider_SliderHasNotches_1Lr71 "></div>
|
|
<div class="gamepadslider_SliderHandleContainer_8xNY6">
|
|
<div class="gamepadslider_SliderHandle_11PBf"></div>
|
|
</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotchContainer_2yM7S Panel Focusable">
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch0" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(0)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">0</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch1" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(1)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">1K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch2" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(2)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">2K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch3" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(3)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">3K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch4" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(4)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">4K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch5" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(5)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">5K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch6" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(6)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">6K</div>
|
|
</div>
|
|
<div class="gamepadslider_SliderNotch_LYPXt">
|
|
<div id="fanNotch7" class="gamepadslider_SliderNotchTick_u8QEa gamepadslider_TickActive_j418S" onclick='onSetFanNotch(7)'></div>
|
|
<div class="gamepadslider_SliderNotchLabel_dbACW">Auto</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div style="font-size:x-small;">
|
|
WARNING: This can cause component overheating.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Battery Info -->
|
|
<div class="quickaccesscontrols_PanelSection_3gY0a" onclick="updateBatteryStats()" style="margin-bottom:0px;">
|
|
<div class="quickaccesscontrols_PanelSectionTitle_1IigU">
|
|
<div class="quickaccesscontrols_Text_1cokl">Battery</div>
|
|
</div>
|
|
<div class="Panel Focusable" tabindex="0">
|
|
<div class="quickaccesscontrols_PanelSectionRow_3LM_Z">
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable" style="--indent-level:0;padding-left:0px;padding-right:0px;">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">Now (Charge)</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div class="gamepaddialog_LabelFieldValue_3pteV" id="batCapacityNow"> :'( (|-_-|) </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="quickaccesscontrols_PanelSectionRow_3LM_Z">
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_WithBottomSeparator_3YKpU gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable" style="--indent-level:0;padding-left:0px;padding-right:0px;">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">Max (Design)</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div class="gamepaddialog_LabelFieldValue_3pteV" id="batCapacityFull"> 9000+ (420%) </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="quickaccesscontrols_PanelSectionRow_3LM_Z" onclick="updateVersion()">
|
|
<div class="gamepaddialog_Field_eKmEX gamepaddialog_WithFirstRow_2bDqk gamepaddialog_InlineWrapShiftsChildrenBelow_3LCXh gamepaddialog_StandardPadding_xIITX gamepaddialog_HighlightOnFocus_2HFrm Panel Focusable" style="--indent-level:0;">
|
|
<div class="gamepaddialog_FieldLabelRow_2VcTl">
|
|
<div class="gamepaddialog_FieldLabel_3jMlJ">PowerTools</div>
|
|
<div class="gamepaddialog_FieldChildren_2rhav">
|
|
<div class="gamepaddialog_LabelFieldValue_3pteV" id="versionStr"> v0.42.0 </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|