mirror of
https://github.com/AkiChase/scrcpy-mask
synced 2025-02-23 15:32:17 +08:00
bug(KeyBoard): fix key hook error
This commit is contained in:
parent
40746b3d35
commit
ac9d1c4e9d
@ -66,6 +66,8 @@ function toStartServer() {
|
||||
<template v-if="store.keyMappingConfigList.length">
|
||||
<div @contextmenu.prevent class="mask" id="maskElement"></div>
|
||||
<div class="button-layer">
|
||||
<!-- <div style="position: absolute;height: 100%;width: 1px;background-color: red;left: 50%;"></div>
|
||||
<div style="position: absolute;width: 100%;height: 1px;background-color: red;top: 55%;"></div> -->
|
||||
<template
|
||||
v-for="button in store.keyMappingConfigList[store.curKeyMappingIndex]
|
||||
.list"
|
||||
|
@ -122,7 +122,9 @@ function isKeyUnique(curKey: string): boolean {
|
||||
function setCurButtonKey(curKey: string) {
|
||||
if (
|
||||
keyboardStore.activeButtonIndex === -1 ||
|
||||
keyboardStore.activeButtonIndex >= store.editKeyMappingList.length
|
||||
keyboardStore.activeButtonIndex >= store.editKeyMappingList.length||
|
||||
keyboardStore.showButtonSettingFlag||
|
||||
keyboardStore.showButtonAddFlag
|
||||
)
|
||||
return;
|
||||
|
||||
|
@ -101,9 +101,12 @@ function parseMacro(macroRaw: string): KeyMacroList {
|
||||
return macro;
|
||||
}
|
||||
|
||||
let editedFlag = false;
|
||||
let macroEditedFlag = false;
|
||||
function editMacro() {
|
||||
editedFlag = false;
|
||||
macroEditedFlag = false;
|
||||
keyboardStore.activeButtonIndex = -1;
|
||||
keyboardStore.showButtonSettingFlag = false;
|
||||
|
||||
const macro = (keyMapping.value as KeyMacro).macro;
|
||||
editedMacroRaw.value = {
|
||||
down: macro.down === null ? "" : JSON.stringify(macro.down, null, 2),
|
||||
@ -114,7 +117,7 @@ function editMacro() {
|
||||
}
|
||||
|
||||
function saveMacro() {
|
||||
if (!editedFlag) return;
|
||||
if (!macroEditedFlag) return;
|
||||
try {
|
||||
const macro: {
|
||||
down: KeyMacroList;
|
||||
@ -234,6 +237,7 @@ function showSetting() {
|
||||
@update:value="keyboardStore.edited = true"
|
||||
/>
|
||||
</NFormItem>
|
||||
</div>
|
||||
<NModal
|
||||
v-if="keyMapping.type === 'Macro'"
|
||||
v-model:show="showMacroModal"
|
||||
@ -247,7 +251,7 @@ function showSetting() {
|
||||
style="flex-grow: 1"
|
||||
placeholder="JSON宏代码, 可为空"
|
||||
v-model:value="editedMacroRaw.down"
|
||||
@update:value="editedFlag = true"
|
||||
@update:value="macroEditedFlag = true"
|
||||
round
|
||||
clearable
|
||||
/>
|
||||
@ -257,7 +261,7 @@ function showSetting() {
|
||||
style="flex-grow: 1"
|
||||
placeholder="JSON宏代码, 可为空"
|
||||
v-model:value="editedMacroRaw.loop"
|
||||
@update:value="editedFlag = true"
|
||||
@update:value="macroEditedFlag = true"
|
||||
round
|
||||
clearable
|
||||
/>
|
||||
@ -267,14 +271,13 @@ function showSetting() {
|
||||
style="flex-grow: 1"
|
||||
placeholder="JSON宏代码, 可为空"
|
||||
v-model:value="editedMacroRaw.up"
|
||||
@update:value="editedFlag = true"
|
||||
@update:value="macroEditedFlag = true"
|
||||
round
|
||||
clearable
|
||||
/>
|
||||
</NFlex>
|
||||
</NCard>
|
||||
</NModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
@ -40,6 +40,8 @@ function clientyToPosOffsety(clienty: number, posy: number, scale = 1) {
|
||||
return Math.round(offsetY * scale);
|
||||
}
|
||||
|
||||
// TODO ? 技能指示器的指向实际上是有投影变换的(可见王者技能范围不是圆而是椭圆),需要一定的算法,不能仅仅相对(x:50%, y:55%)的位置
|
||||
|
||||
function clientPosToSkillOffset(
|
||||
clientPos: { x: number; y: number },
|
||||
range: number
|
||||
@ -78,6 +80,7 @@ async function sleep(ms: number) {
|
||||
}
|
||||
|
||||
function calculateMacroPosX(
|
||||
// pos relative to the mask
|
||||
posX: [string, number] | number,
|
||||
relativeSizeW: number
|
||||
): number {
|
||||
@ -99,6 +102,7 @@ function calculateMacroPosX(
|
||||
}
|
||||
|
||||
function calculateMacroPosY(
|
||||
// pos relative to the mask
|
||||
posY: [string, number] | number,
|
||||
relativeSizeH: number
|
||||
): number {
|
||||
@ -131,8 +135,6 @@ function calculateMacroPosList(
|
||||
});
|
||||
}
|
||||
|
||||
// TODO ? 技能界面实际上是有投影变换的,需要一定的算法,不能仅仅相对坐标 (640,400)
|
||||
|
||||
// add shortcuts for observation
|
||||
function addObservationShortcuts(
|
||||
key: string,
|
||||
|
Loading…
Reference in New Issue
Block a user