feat: frontend add virtual matrix key

This commit is contained in:
2025-05-20 17:09:57 +08:00
parent b68d8eaf11
commit bea1c7e5ae
15 changed files with 689 additions and 106 deletions

View File

@@ -44,6 +44,12 @@
{{ eqps.enableJtagBoundaryScan ? "关闭边界扫描" : "启动边界扫描" }}
</button>
</div>
<div class="divider"></div>
<h1 class="font-bold text-center text-2xl">外设</h1>
<div class="flex flex-row">
<input type="checkbox" class="checkbox" :checked="eqps.enableMatrixKey" @change="handleMatrixkeyCheckboxChange" />
<p class="mx-2">启用矩阵键盘</p>
</div>
</div>
</template>
@@ -52,7 +58,7 @@ import z from "zod";
import UploadCard from "@/components/UploadCard.vue";
import { useDialogStore } from "@/stores/dialog";
import { useEquipments } from "@/stores/equipments";
import { computed, ref, watchEffect } from "vue";
import { computed, ref, watchEffect, watchPostEffect } from "vue";
interface CapsProps {
jtagAddr?: string;
@@ -100,6 +106,19 @@ function handleSelectJtagSpeed(event: Event) {
emits("changeJtagFreq", target.value);
}
async function handleMatrixkeyCheckboxChange(event: Event) {
const target = event.target as HTMLInputElement;
if (target.checked) {
const ret = await eqps.matrixKeypadEnable(true);
if (!ret) {
}
} else {
const ret = await eqps.matrixKeypadEnable(false);
if (!ret) {
}
}
}
async function toggleJtagBoundaryScan() {
if (eqps.jtagClientMutex.isLocked()) {
dialog.warn("Jtag正在被占用");