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 @@
-
-
+
+
+
+ deviceStore.updateKeyActionParameter(
+ actionIndex - 1,
+ appStore.selectedKey,
+ trigger,
+ updates
+ )
+ "
+ />
+
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 @@
deviceStore.removeKeyAction(index, appStore.selectedKey, 0)"
/>
@@ -17,6 +18,7 @@
deviceStore.removeKeyAction(index, appStore.selectedKey, 1)"
/>
@@ -28,6 +30,7 @@
deviceStore.removeKeyAction(index, appStore.selectedKey, 2)"
/>
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!,