[3.4.0][魔方] 长按键B无效;长按键A加速度减2;组合键AB加速度加1
This commit is contained in:
@@ -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)}"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user