Android蓝牙手柄开发

news/2024/10/18 18:25:32/

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

通过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


http://www.ppmy.cn/news/660201.html

相关文章

树莓派模拟Switch手柄(amiibo)

参考文档: 模拟 Amiibo,无需 NTAG 215 卡 - 知乎 https://github.com/Poohl/joycontrol 读前须知:我这篇本来是在OneNote上写好腾过来的,但是CSDN的排版系统太难搞了,编号的问题很大,及其错乱。我搞不动…

自动化测试框架[Cypress概述]

目录 前言: Cypress简介 Cypress原理 Cypress架构图 Cypress特性 各类自动化测试框架介绍 Selenium/WebDriver Karma Karma的工作流程 Nightwatch Protractor TestCafe Puppeteer 前言: Cypress是一个基于JavaScript的端到端自动化测试框架…

【模块】ESP32连接PS4手柄

微信关注 “DLGG创客DIY” 设为“星标”,重磅干货,第一时间送达。 之前搞过的模块(功能),今天再搞,又出问题了,没事我都习惯了。有问题就再研究,把问题都记下来,理论上以…

树莓派3 蓝牙连接 PS3手柄

网上没有直接用3蓝牙连接树莓派的教程,看到一篇用2b 和 蓝牙适配器一起用 连接PS3 手柄的,所以先安装一下试试。 http://tieba.baidu.com/p/3237051512 下面就是安装必要的软件了:piraspberrypi ~ $ sudo apt-get install libusb-dev libbluetooth-dev …

android手柄设置在哪里设置,android蓝牙游戏手柄怎样设置

趣迷安卓蓝牙手柄 支持android,ios,pc等不同的平台游戏,可直接与手机、平板电脑等设备直接连接。设备无需ROOT,也无需下载第三方软件辅助连接,功能全面,有多种模式供选择。针对不同平台的游戏有不同的模式&…

基于STM32C8T6的蓝牙PS4遥控小车手柄

文章目录 项目背景手柄功能介绍(附代码讲解)蓝牙遥控四个模式DS18B20测量温度获取电池ADC电压和PS4摇杆的XY轴ADC电压,采用ADCDMA锂电池电源部分USB充电 总体电路原理图需要硬件PCB和软件代码工程Q2877488930或者微信Aaa2877488930演示视频在…

蓝牙BLE5.1手柄方案

在家庭娱乐应用领域中电线电缆链接将最终被无线技术取代,并通过无线技术提升人们的娱乐性及便利性。目前,便携式开关、智能遥控器、移动电话、以及游戏手柄等移动设备都有使用无线技术来保持与娱乐影音设备和家用电器的连接。 目前市面上的蓝牙手柄种类…

蓝牙手柄按键码

 /*------------------------------------------------------------------------------ ZetaGC串口码与键码对应关系: 上 0x60 -> 0x26 \ 下 0x30 -> 0x28 | 此4键只能相邻按键组合按下 左 0x20 -> 0x25 | 右…