ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android蓝牙手柄开发

2020-10-15 19:04:29  阅读:268  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有