diff --git a/src/renderer/src/components/config/actions/ActionCard.vue b/src/renderer/src/components/config/actions/ActionCard.vue index dac4a4c..7bd23b5 100644 --- a/src/renderer/src/components/config/actions/ActionCard.vue +++ b/src/renderer/src/components/config/actions/ActionCard.vue @@ -47,7 +47,12 @@ () => { typeInputValue = key open = false - deviceStore.updateKeyActionParameter(actionIndex - 1, { type: key }) + deviceStore.updateKeyActionParameter( + actionIndex - 1, + appStore.selectedKey, + trigger, + { type: key } + ) } " > @@ -83,20 +88,26 @@ - - + diff --git a/src/renderer/src/components/config/keys/KeyMappingConfig.vue b/src/renderer/src/components/config/keys/KeyMappingConfig.vue index 2f4a732..d0dd9cd 100644 --- a/src/renderer/src/components/config/keys/KeyMappingConfig.vue +++ b/src/renderer/src/components/config/keys/KeyMappingConfig.vue @@ -6,6 +6,7 @@ @@ -17,6 +18,7 @@ @@ -28,6 +30,7 @@ diff --git a/src/renderer/src/deviceStore.ts b/src/renderer/src/deviceStore.ts index fafd87e..41d7d6b 100644 --- a/src/renderer/src/deviceStore.ts +++ b/src/renderer/src/deviceStore.ts @@ -51,6 +51,7 @@ export interface Action { cc?: number val?: number buttons?: number + name?: string } export interface Value { @@ -600,8 +601,21 @@ export const useDeviceStore = defineStore('device', { this.setDirtyState(true) } }, - updateKeyActionParameter(index: number, updates: object, updateDevice: boolean = true) { - Object.assign(this.currentProfile!.keys[index], updates) + updateKeyActionParameter( + index: number, + key: string, + trigger: number, + updates: object, + updateDevice: boolean = true + ) { + const keyIndex = this.keyLabels.indexOf(key) + if (trigger === 0) { + Object.assign(this.currentProfile!.keys[keyIndex].pressed![index], updates) + } else if (trigger === 1) { + Object.assign(this.currentProfile!.keys[keyIndex].released![index], updates) + } else if (trigger === 2) { + Object.assign(this.currentProfile!.keys[keyIndex].held![index], updates) + } if (updateDevice) { sendDebounced( this.currentDeviceId!,