Skip to content

Commit 03ffd49

Browse files
committed
#608 remove restriction that sequence keys need to have same click type if they come from the same device
1 parent 0fd0671 commit 03ffd49

File tree

5 files changed

+217
-124
lines changed

5 files changed

+217
-124
lines changed

app/src/main/java/io/github/sds100/keymapper/data/model/options/TriggerKeyOptions.kt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ class TriggerKeyOptions(
5656
get() = listOf(doNotConsumeKeyEvents)
5757

5858
override fun apply(trigger: Trigger): Trigger {
59-
var keyToApplyOptions: Trigger.Key? = null
6059

6160
val newTriggerKeys = trigger.keys
6261
.toMutableList()
@@ -70,21 +69,9 @@ class TriggerKeyOptions(
7069
)
7170
)
7271

73-
keyToApplyOptions = it
74-
7572
return@map newKey
7673
}
7774

78-
it
79-
}.map {
80-
//set the click type of all duplicate keys to the same click type
81-
if (trigger.mode == Trigger.SEQUENCE
82-
&& it.keyCode == keyToApplyOptions?.keyCode
83-
&& it.deviceId == keyToApplyOptions?.deviceId) {
84-
85-
return@map it.copy(clickType = clickType.value)
86-
}
87-
8875
it
8976
}
9077

app/src/main/java/io/github/sds100/keymapper/data/viewmodel/TriggerViewModel.kt

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ class TriggerViewModel(
212212
suspend fun addTriggerKey(keyCode: Int, deviceDescriptor: String, deviceName: String, isExternal: Boolean): Boolean {
213213
mDeviceInfoRepository.insertDeviceInfo(DeviceInfo(deviceDescriptor, deviceName))
214214

215-
var clickType = Trigger.SHORT_PRESS
215+
val clickType = Trigger.SHORT_PRESS
216216

217217
val deviceId = if (isExternal) {
218218
deviceDescriptor
@@ -244,38 +244,6 @@ class TriggerViewModel(
244244

245245
if (containsKey) {
246246
triggerInSequence.value = true
247-
248-
if (!getBoolPref(R.string.key_pref_shown_multiple_of_same_key_in_sequence_trigger_info)) {
249-
notifyUser(R.string.dialog_message_use_key_multiple_times_in_sequence_trigger)
250-
251-
setBoolPref(R.string.key_pref_shown_multiple_of_same_key_in_sequence_trigger_info,
252-
true)
253-
}
254-
}
255-
256-
/*
257-
multiple of the same key from the same device in a sequence trigger must all have the same click type.
258-
Therefore, set the click type of the new key to the same as the other keys.
259-
*/
260-
if (triggerInSequence.value == true) {
261-
val keysWithSameKeycodeAndDevice = keys.value?.filter {
262-
it.keyCode == keyCode && it.deviceId == deviceId
263-
} ?: listOf()
264-
265-
if (keysWithSameKeycodeAndDevice.isNotEmpty()) {
266-
clickType = keysWithSameKeycodeAndDevice[0].clickType
267-
268-
if (!getBoolPref(
269-
R.string.key_pref_shown_multiple_of_same_key_in_sequence_trigger_info)) {
270-
271-
notifyUser(R.string.dialog_message_use_key_multiple_times_in_sequence_trigger)
272-
273-
setBoolPref(
274-
R.string.key_pref_shown_multiple_of_same_key_in_sequence_trigger_info,
275-
true
276-
)
277-
}
278-
}
279247
}
280248

281249
_keys.value = keys.value?.toMutableList()?.apply {

0 commit comments

Comments
 (0)