[3.4.0][魔方] 长按键B无效;长按键A加速度减2;组合键AB加速度加1

This commit is contained in:
renwj
2023-07-18 16:55:11 +08:00
parent 306f6a17c0
commit 05984793bf

View File

@@ -15,14 +15,14 @@ internal class MoFangCommandExecutor {
companion object {
private const val TAG = "MoFangCommandExecutor"
private const val MSG_WHAT_KEY_CODE_A = 0x01
private const val MSG_WHAT_KEY_CODE_B = 0x02
private const val MSG_WHAT_KEY_CODE_BL = 0x03
private const val MSG_WHAT_KEY_CODE_C = 0x04
private const val MSG_WHAT_KEY_CODE_D = 0x05
private const val MSG_WHAT_KEY_CODE_E = 0x06
private const val MSG_WHAT_KEY_CODE_EL = 0x07
private const val MSG_WHAT_KEY_CODE_AB = 0x08
private const val MSG_WHAT_KEY_CODE_A = 0x01
private const val MSG_WHAT_KEY_CODE_AL = 0x02
private const val MSG_WHAT_KEY_CODE_B = 0x03
private const val MSG_WHAT_KEY_CODE_AB = 0x04
private const val MSG_WHAT_KEY_CODE_C = 0x05
private const val MSG_WHAT_KEY_CODE_D = 0x06
private const val MSG_WHAT_KEY_CODE_E = 0x07
private const val MSG_WHAT_KEY_CODE_EL = 0x08
}
@Volatile
@@ -36,7 +36,7 @@ internal class MoFangCommandExecutor {
val message = whatToString(msg.what, ", msg_info:[obj:${msg.obj}, arg1: ${msg.arg1}, arg2: ${msg.arg2}]")
linkedLog?.record(mapOf("收到:${System.currentTimeMillis()}" to "$message"))
when(msg.what) {
MSG_WHAT_KEY_CODE_A, MSG_WHAT_KEY_CODE_B, MSG_WHAT_KEY_CODE_AB, MSG_WHAT_KEY_CODE_BL -> {
MSG_WHAT_KEY_CODE_A, MSG_WHAT_KEY_CODE_B, MSG_WHAT_KEY_CODE_AB, MSG_WHAT_KEY_CODE_AL -> {
var send = false
try {
val acc = msg.obj as? Double
@@ -132,14 +132,14 @@ internal class MoFangCommandExecutor {
MSG_WHAT_KEY_CODE_A -> {
"单击键A->加速度每隔500ms减少1$extra"
}
MSG_WHAT_KEY_CODE_AB -> {
"组合键AB->加速度每隔500毫秒,减2$extra"
MSG_WHAT_KEY_CODE_AL -> {
"长按键A->加速度每隔500ms,减2$extra"
}
MSG_WHAT_KEY_CODE_B -> {
"单击键B->复原$extra"
}
MSG_WHAT_KEY_CODE_BL -> {
"长按键B->加速度每隔500ms增加1$extra"
MSG_WHAT_KEY_CODE_AB -> {
"组合键AB->加速度每隔500毫秒增加1$extra"
}
MSG_WHAT_KEY_CODE_C -> {
"单击键C->左变道$extra"
@@ -159,12 +159,12 @@ internal class MoFangCommandExecutor {
private fun getKeycodeByWhat(what: Int): String? {
return when(what) {
MSG_WHAT_KEY_CODE_A -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_A)
MSG_WHAT_KEY_CODE_B,MSG_WHAT_KEY_CODE_BL -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_B)
MSG_WHAT_KEY_CODE_A, MSG_WHAT_KEY_CODE_AL -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_A)
MSG_WHAT_KEY_CODE_B -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_B)
MSG_WHAT_KEY_CODE_AB -> "${KeyEvent.keyCodeToString(KeyEvent.KEYCODE_A)},${KeyEvent.keyCodeToString(KeyEvent.KEYCODE_B)}"
MSG_WHAT_KEY_CODE_C -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_C)
MSG_WHAT_KEY_CODE_D -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_D)
MSG_WHAT_KEY_CODE_E, MSG_WHAT_KEY_CODE_EL -> KeyEvent.keyCodeToString(KeyEvent.KEYCODE_E)
MSG_WHAT_KEY_CODE_AB -> "${KeyEvent.keyCodeToString(KeyEvent.KEYCODE_A)},${KeyEvent.keyCodeToString(KeyEvent.KEYCODE_B)}"
else -> null
}
}
@@ -178,7 +178,7 @@ internal class MoFangCommandExecutor {
MSG_WHAT_KEY_CODE_E -> {
"1"
}
MSG_WHAT_KEY_CODE_BL,MSG_WHAT_KEY_CODE_EL -> {
MSG_WHAT_KEY_CODE_AL,MSG_WHAT_KEY_CODE_EL -> {
"2"
}
MSG_WHAT_KEY_CODE_AB -> {
@@ -197,7 +197,7 @@ internal class MoFangCommandExecutor {
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_B)
handler.removeMessages(MSG_WHAT_KEY_CODE_AB)
handler.removeMessages(MSG_WHAT_KEY_CODE_BL)
handler.removeMessages(MSG_WHAT_KEY_CODE_AL)
handler.sendMessage(Message.obtain().also {
it.what = MSG_WHAT_KEY_CODE_A
it.obj = -1.0
@@ -206,10 +206,10 @@ internal class MoFangCommandExecutor {
}
if (keycode == KeyEvent.KEYCODE_B) {
Log.d(TAG, "--- 单机键B --- 复原 ----")
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_B)
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_AB)
handler.removeMessages(MSG_WHAT_KEY_CODE_BL)
handler.removeMessages(MSG_WHAT_KEY_CODE_AL)
handler.sendMessage(Message.obtain().also {
it.what = MSG_WHAT_KEY_CODE_B
it.obj = 0.0
@@ -249,6 +249,19 @@ internal class MoFangCommandExecutor {
}
fun handleLongClick(keyCode: Int) {
if (keyCode == KeyEvent.KEYCODE_A) {
Log.d(TAG, "---- 长按键A ---- 加速度每隔500毫秒减小2 ---")
handler.removeMessages(MSG_WHAT_KEY_CODE_AL)
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_B)
handler.removeMessages(MSG_WHAT_KEY_CODE_AB)
handler.sendMessage(Message.obtain().also {
it.what = MSG_WHAT_KEY_CODE_AL
it.obj = -2.0
})
linkedLog?.record(mapOf("发送[AL]:${System.currentTimeMillis()}" to "${whatToString(MSG_WHAT_KEY_CODE_AL)}"))
}
if (keyCode == KeyEvent.KEYCODE_E) {
Log.d(TAG, "--- 长按键E --- 鸣笛 ----")
handler.removeMessages(MSG_WHAT_KEY_CODE_EL)
@@ -258,31 +271,19 @@ internal class MoFangCommandExecutor {
})
linkedLog?.record(mapOf("发送[EL]:${System.currentTimeMillis()}" to "${whatToString(MSG_WHAT_KEY_CODE_EL)}"))
}
if (keyCode == KeyEvent.KEYCODE_B) {
Log.d(TAG, "--- 长按键B --- 加速度加1 ----")
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_B)
handler.removeMessages(MSG_WHAT_KEY_CODE_AB)
handler.removeMessages(MSG_WHAT_KEY_CODE_BL)
handler.sendMessage(Message.obtain().also {
it.what = MSG_WHAT_KEY_CODE_BL
it.obj = 1.0
})
linkedLog?.record(mapOf("发送[BL]:${System.currentTimeMillis()}" to "${whatToString(MSG_WHAT_KEY_CODE_BL)}"))
}
}
fun handleCombineClick(vararg keyCodes: Int) {
if (isCombineEqual(KeyEvent.KEYCODE_A, KeyEvent.KEYCODE_B, *keyCodes)) {
//AB组合键加速度每隔500毫秒减小2
Log.d(TAG, "---- 组合键AB ---- 按下加速度每隔500毫秒减小2 ---")
//AB组合键加速度每隔500毫秒增加1
Log.d(TAG, "---- 组合键AB ---- 按下, 加速度加1 ----")
handler.removeMessages(MSG_WHAT_KEY_CODE_A)
handler.removeMessages(MSG_WHAT_KEY_CODE_B)
handler.removeMessages(MSG_WHAT_KEY_CODE_AB)
handler.removeMessages(MSG_WHAT_KEY_CODE_BL)
handler.removeMessages(MSG_WHAT_KEY_CODE_AL)
handler.sendMessage(Message.obtain().also {
it.what = MSG_WHAT_KEY_CODE_AB
it.obj = -2.0
it.what = MSG_WHAT_KEY_CODE_AB
it.obj = 1.0
})
linkedLog?.record(mapOf("发送[AB]:${System.currentTimeMillis()}" to "${whatToString(MSG_WHAT_KEY_CODE_AB)}"))
}