标签:MotionEvent 手柄 getAxisValue 蓝牙 按下 str Android event AXIS
Android蓝牙手柄VA-013开发
VA-013简介
待补充
采用“X”+MODE开机方式,LED3灯亮模式
摇杆类变量
名 | 值 | 按键 |
---|---|---|
MotionEvent.AXIS_BRAKE | (Float)1/0 | L2按下/松开(短按) |
MotionEvent.AXIS_GAS | (Float)1/0 | R2按下/松开(短按) |
MotionEvent.AXIS_HAT_Y | (Float)-1/0/1 | 上键按下/松开/下键按下 |
MotionEvent.AXIS_HAT_X | (Float)-1/0/1 | 左键按下/松开/右键按下 |
MotionEvent.AXIS_X | (Float)-1~1 | 左摇杆X轴 |
MotionEvent.AXIS_Y | (Float)-1~1 | 左摇杆Y轴 |
MotionEvent.AXIS_Z | (Float)-1~1 | 右摇杆X轴 |
MotionEvent.AXIS_RZ | (Float)-1~1 | 右摇杆Y轴 |
override fun onGenericMotionEvent(event: MotionEvent?): Boolean {
if (event != null){
var str:String
when {
event.getAxisValue(MotionEvent.AXIS_BRAKE) == 1.toFloat() -> {
str = "L2按下"
sendAndShowResetOrder()
}
event.getAxisValue(MotionEvent.AXIS_GAS) == 1.toFloat() -> {
str = "R2按下"
sendAndShowResetOrder()
}
event.getAxisValue(MotionEvent.AXIS_HAT_Y) == (-1).toFloat() -> {
str = "上键"
sendAndShowOrder(4,0)
}
event.getAxisValue(MotionEvent.AXIS_HAT_Y) == 1.toFloat() -> {
str = "下键"
sendAndShowOrder(4,1)
}
event.getAxisValue(MotionEvent.AXIS_HAT_X) == (-1).toFloat() -> {
str = "左键"
sendAndShowOrder(4,2)
}
event.getAxisValue(MotionEvent.AXIS_HAT_X) == 1.toFloat() -> {
str = "右键"
sendAndShowOrder(4,3)
}
else -> {
str = "左摇杆x:" + event.getAxisValue(MotionEvent.AXIS_X).toString() + ";y:" + event.getAxisValue(MotionEvent.AXIS_Y).toString() + "\t右摇杆x" + event.getAxisValue(MotionEvent.AXIS_Z).toString() + ";y:" + event.getAxisValue(MotionEvent.AXIS_RZ).toString()
}
}
// msg.text = str
}
return true
}
按键类变量
keyCode | 按键 |
---|---|
96 | A键 |
97 | B键 |
99 | X |
100 | Y |
102 | L1 |
103 | R1 |
104 | L2(长按) |
105 | R2(长按) |
106 | 左摇杆按下 |
107 | 右摇杆按下 |
108 | START键 |
109 | SELECT键 |
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
var str:String
when (keyCode) {
// 监控/拦截/屏蔽A方向键
96 ->{
str = "A键"
}
// 监控/拦截/屏蔽B方向键
97 ->{
str = "B键"
}
99 -> {
str = "X键"
}
100 ->{
str = "Y键"
}
102 ->{
str = "L1键"
}
103 ->{
str = "R1键"
}
// 长按触发,短按为 L2按下
104 ->{
str = "L2键"
}
// 长按触发,短按为 R2按下
105 ->{
str = "R2键"
}
106 ->{
str = "左摇杆按下键"
}
107 ->{
str = "右摇杆按下键"
}
108 ->{
str = "START键"
}
109 ->{
str = "SELECT键"
}
else -> str = "keyCode: $keyCode"
}
msg.text = str
return true
}
标签:MotionEvent,手柄,getAxisValue,蓝牙,按下,str,Android,event,AXIS 来源: https://www.cnblogs.com/cnwy/p/13822285.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。