Android 使用蓝牙键盘按上键和按下键

Android 使用蓝牙键盘按上键和按下键,android,keyboard,Android,Keyboard,由于某些原因,硬件蓝牙键盘上的每个ascii键都会遵循onKeyUp 如果你按下DPAD_,没问题 如果按下该键,则会多次调用OnKeyDown,且repeatCount会增加 只有在释放密钥时才会触发OnKeyUp 使用Log.d(“KEY”,“down”+event.getDisplayLabel()+“”+event.getRepeatCount()) 如果按A键,OnKeyDown将被触发,OnKeyUp几乎在之后立即启动(停机时间=EventTime) 如果按下该键,OnKeyUp跟随

由于某些原因,硬件蓝牙键盘上的每个ascii键都会遵循onKeyUp

如果你按下DPAD_,没问题

如果按下该键,则会多次调用OnKeyDown,且repeatCount会增加

只有在释放密钥时才会触发OnKeyUp

使用Log.d(“KEY”,“down”+event.getDisplayLabel()+“”+event.getRepeatCount())

如果按A键,OnKeyDown将被触发,OnKeyUp几乎在之后立即启动(停机时间=EventTime) 如果按下该键,OnKeyUp跟随每个OnKeyDown,repeatCount保持为0

使用Log.d(“KEY”,“down”+event.getDisplayLabel()+“”+event.getRepeatCount())

OnKeyDown/OnKeyUp在我的surfaceView上定义,并添加到具有

view.setFocusable(true);
view.setFocusableInTouchMode(true);
appcompat-v7:28.0.0(自26.1.0以来的每个版本都确认了相同的行为)

targetSDK 29

明斯克14



非常相似的问题,但不幸的是没有答案

2019-11-29 23:42:20.976 14217-14217/com.test D/KEY: down A 0
2019-11-29 23:42:25.002 14217-14217/com.test D/KEY: down A 0
2019-11-29 23:45:04.533 14217-14217/com.test D/KEY: down A 0
view.setFocusable(true);
view.setFocusableInTouchMode(true);