Android蓝牙手柄开发
手柄相应的按键 摇杆监听(已连接状态)
通过google找到官方示例https://developer.android.com/training/game-controllers/controller-input.html
对于Activity和View系统提供了不同的监听按键方法
这里写图片描述
KeyEvent事件
对应的onKeyDown和onKeyUp事件,得到相应的 keyCode,便可以监听
图 1 手柄按键示例
图 2 键位对应
MotionEvent事件(手柄中 Joystick R2 L2)
如上图1和图2中对应关系
左摇杆和右摇杆可以得到x和y方向的-1.0到1.0的范围比例.
左摇杆:
event.getAxisValue(MotionEvent.AXIS_X)
event.getAxisValue(MotionEvent.AXIS_Y)
右摇杆:
event.getAxisValue(MotionEvent.AXIS_Z)
event.getAxisValue(MotionEvent.AXIS_RZ)
override fun onGenericMotionEvent(event: MotionEvent?): Boolean {if (event != null){msg(tv_info, event.getAxisValue(MotionEvent.AXIS_Z).toString()+ "\n")msg(tv_info, event.getAxisValue(MotionEvent.AXIS_RZ).toString()+ "\n")msg(tv_info, event.getAxisValue(MotionEvent.AXIS_X).toString()+ "\n")msg(tv_info, event.getAxisValue(MotionEvent.AXIS_Y).toString()+ "\n")}return true}
R2和L2可以得到0.0到1.0的范围比例(MotionEvent的值可能和官方图中不一样)
Toast.makeText(this, event.getAxisValue(MotionEvent.AXIS_GAS).toString() + "\n" + event.getAxisValue(MotionEvent.AXIS_BRAKE).toString(), Toast.LENGTH_SHORT).show()
我使用的AXIS_GAS是上图9按键,AXIS_BRAKE是上图10按键,只有0和1没有范围
注: MotionEvent的值很多,还可以监听 鼠标的滚轮,等等,官方文档都有介绍
也可以参考,亚马逊一篇文章 Amazon InputDevice Developer , 得到这些监听事件后,大家就可以根据自己的需求做相应的动作了.
【记录】Android监听蓝牙耳机的按键事件android蓝牙手柄监听 BluetoothGamepad
Android蓝牙手柄开发相关推荐
- gamepad android,Android蓝牙手柄开发
手柄相应的按键 摇杆监听(已连接状态) 对于Activity和View系统提供了不同的监听按键方法 这里写图片描述 KeyEvent事件 对应的onKeyDown和onKeyUp事件,得到相应的 ke ...
- Android 蓝牙通信开发
Android 蓝牙通信开发 Receiver的设置 一.Receiver1(蓝牙状态的改变通过广播接收) 二.Receiver2(蓝牙搜索到设备.绑定设备(配对)通过广播接收) 服务端代码 客户端代 ...
- Android 蓝牙BLE开发详解
Android 蓝牙BLE开发详解 由于年初接手了个有关蓝牙BLE的项目,开始了对蓝牙ble的学习,经过长时间的慢慢学习(学得太慢,太拖了),终于了解了该怎么写蓝牙BLE,现在就给大家分享一下. 一. ...
- Qt on Android 蓝牙通信开发
版权声明:本文为MULTIBEANS ORG研发跟随文章,未经MLT ORG允许不得转载. 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本 ...
- Android 蓝牙手柄连接流程解析和自动化方案
为了提高蓝牙手柄的连接成功率,实现自动连接蓝牙手柄,替代用户手动连接蓝牙手柄的整个流程. 首先,我们将"连接蓝牙手柄"这个步骤拆分开来,可以细分为搜索.识别.配对.连接四个步骤.为 ...
- Android蓝牙BLE开发
最近正在研究Android的蓝牙BLE开发学习,以下是自己做的个人总结 1.1何为BLE? 首先得说明什么是低功耗蓝牙BLE,BLE的全称为Bluetooth low energy(或称Blooth ...
- Android蓝牙手柄摇杆 十字按键监听手机focus焦点
文章目录 先分析一下需求: 首先,手柄设备蓝牙连接到手机,这没什么说的,直接按照手柄的说明书进行连接即可. 其次,就是拦截,在`onKeyDown`方法中进行拦截. 第三,反馈背景的设置问题. 最后, ...
- Android 蓝牙Hid开发
原文地址: https://blog.csdn.net/VNanyesheshou/article/details/61914974 Demo下载:http://www.demodashi.com/d ...
- Android蓝牙BLE开发(一)-基本原理
公司有需求要做蓝牙BLE传输,经查阅后发现关于BLE开发的知识还真不多.对于BLE开发的同学来说,我的建议是先快速了解一下BLE的基本原理,磨刀不误砍柴工. 什么是BLE BLE全称Bluetooth ...
最新文章
- 电脑练习打字软件_Type Fu for Mac 4.5.7 共享版 – 优秀的键盘打字练习软件
- 实践提炼:面对大型B端项目,产品设计该如何展开?
- 达摩院再获自动驾驶权威测评第一,车辆可识别“厘米级”障碍物
- 项目管理49个过程超详细总结(持续更新中)
- OceanBase 数据库
- Mac 下如何解压 bin 文件
- Unity网格编程篇(三) 温度图、热力图
- 冶金物理化学复习 --- 典型熔渣模型
- IOS音视频(四十五)HTTPS 自签名证书 实现边下边播
- mysql ansi unicode_ANSI与Unicode编码
- Linux(四)——CROND和磁盘分区与挂载
- 文件不见还占用空间咋修复
- Jenkins + 钉钉 + SpringBoot 极简入门,一键打包部署项目
- 程序猿杂记——七年之痒
- C++ 内存泄漏检测工具valgrind简单使用
- Eva 初学算法笔记 —— 1.直接插入排序
- pytorch中nn.Embedding和nn.LSTM和nn.Linear
- C++][基础知识 5] 虚函数
- Java基于springboot开发的漂亮的个人家乡博客系统有论文
- 手术实时进程及沟通管理系统在新型冠状病毒肺炎下的优势