手柄相应的按键 摇杆监听(已连接状态)

通过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蓝牙手柄开发相关推荐

  1. gamepad android,Android蓝牙手柄开发

    手柄相应的按键 摇杆监听(已连接状态) 对于Activity和View系统提供了不同的监听按键方法 这里写图片描述 KeyEvent事件 对应的onKeyDown和onKeyUp事件,得到相应的 ke ...

  2. Android 蓝牙通信开发

    Android 蓝牙通信开发 Receiver的设置 一.Receiver1(蓝牙状态的改变通过广播接收) 二.Receiver2(蓝牙搜索到设备.绑定设备(配对)通过广播接收) 服务端代码 客户端代 ...

  3. Android 蓝牙BLE开发详解

    Android 蓝牙BLE开发详解 由于年初接手了个有关蓝牙BLE的项目,开始了对蓝牙ble的学习,经过长时间的慢慢学习(学得太慢,太拖了),终于了解了该怎么写蓝牙BLE,现在就给大家分享一下. 一. ...

  4. Qt on Android 蓝牙通信开发

    版权声明:本文为MULTIBEANS ORG研发跟随文章,未经MLT ORG允许不得转载. 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本 ...

  5. Android 蓝牙手柄连接流程解析和自动化方案

    为了提高蓝牙手柄的连接成功率,实现自动连接蓝牙手柄,替代用户手动连接蓝牙手柄的整个流程. 首先,我们将"连接蓝牙手柄"这个步骤拆分开来,可以细分为搜索.识别.配对.连接四个步骤.为 ...

  6. Android蓝牙BLE开发

    最近正在研究Android的蓝牙BLE开发学习,以下是自己做的个人总结 1.1何为BLE? 首先得说明什么是低功耗蓝牙BLE,BLE的全称为Bluetooth low energy(或称Blooth ...

  7. Android蓝牙手柄摇杆 十字按键监听手机focus焦点

    文章目录 先分析一下需求: 首先,手柄设备蓝牙连接到手机,这没什么说的,直接按照手柄的说明书进行连接即可. 其次,就是拦截,在`onKeyDown`方法中进行拦截. 第三,反馈背景的设置问题. 最后, ...

  8. Android 蓝牙Hid开发

    原文地址: https://blog.csdn.net/VNanyesheshou/article/details/61914974 Demo下载:http://www.demodashi.com/d ...

  9. Android蓝牙BLE开发(一)-基本原理

    公司有需求要做蓝牙BLE传输,经查阅后发现关于BLE开发的知识还真不多.对于BLE开发的同学来说,我的建议是先快速了解一下BLE的基本原理,磨刀不误砍柴工. 什么是BLE BLE全称Bluetooth ...

最新文章

  1. 电脑练习打字软件_Type Fu for Mac 4.5.7 共享版 – 优秀的键盘打字练习软件
  2. 实践提炼:面对大型B端项目,产品设计该如何展开?
  3. 达摩院再获自动驾驶权威测评第一,车辆可识别“厘米级”障碍物
  4. 项目管理49个过程超详细总结(持续更新中)
  5. OceanBase 数据库
  6. Mac 下如何解压 bin 文件
  7. Unity网格编程篇(三) 温度图、热力图
  8. 冶金物理化学复习 --- 典型熔渣模型
  9. IOS音视频(四十五)HTTPS 自签名证书 实现边下边播
  10. mysql ansi unicode_ANSI与Unicode编码
  11. Linux(四)——CROND和磁盘分区与挂载
  12. 文件不见还占用空间咋修复
  13. Jenkins + 钉钉 + SpringBoot 极简入门,一键打包部署项目
  14. 程序猿杂记——七年之痒
  15. C++ 内存泄漏检测工具valgrind简单使用
  16. Eva 初学算法笔记 —— 1.直接插入排序
  17. pytorch中nn.Embedding和nn.LSTM和nn.Linear
  18. C++][基础知识 5] 虚函数
  19. Java基于springboot开发的漂亮的个人家乡博客系统有论文
  20. 手术实时进程及沟通管理系统在新型冠状病毒肺炎下的优势

热门文章

  1. mysql 每日备份脚本分享
  2. 查看yum安装软件的目录
  3. coreldraw怎么画猴子_小猴子的画法
  4. 程序员泪流满面的瞬间,第三季
  5. nodejs+Koa2实现小程序的微信支付请求(一)
  6. 名帖181 黄庭坚 行书《苦笋赋》
  7. 乐鑫ESP32-C3开发(一)简述和目录
  8. VB 四言古诗词赏析 制作
  9. Holtek HT32 e-Link32 Pro 驱动正常无法安装 解决办法
  10. 100个精选Python实战项目案例,送给缺乏练手经验的你