电视盒子为什么不支持我的手柄(未完)

百度了两天。

目前找到了 adb 的用法 正在学习。

1. adb devices  找到我的设备

 

2. adb shell getevent -p /dev/input/event0 来查看event

3. adb shell getevent -lp /dev/input/event0 来查看event

 

通过adb -s <serial number> cmd向设备发送adb命令。

比如:运行命令shell。

C:\Users\Administrator>adb -s SH0A6PL00243 shell

 

关于event

http://blog.csdn.net/lichaoandy/article/details/6565893

关于shoubing

http://blog.csdn.net/cnsword/article/details/13005259

 

使用event

http://wenku.baidu.com/link?url=IrBLgPvf1krBETAvytkiH9Ik2gFunX3XdFeVz9Y6aew5ZttZuQt8GvAzUf8bZR9v-ne94a5hyI_zGHWZQG1G1AjV-R_vs4iPc3AMwGauRwa

adb shell 
此命令进入设备的shell中。这时会有一个#号出现

下面用法用来模拟按键 
input keyevent 4//返回上一级 Home 3 Menu 82 右:22 左:21 下:20 上:19 OK:23 音量加:24 音量减:25

 

 

http://www.putaogame.com/thread-626-1-1.html

1.3,确定手柄方向键摇杆信息
在安卓装个终端模拟器,依次运行

su
getevent -p

此时就会显示所有输入设备的信息,摘抄我的手柄信息

复制代码
add device 1: /dev/input/event8
  name:     "HOLTEK JY-P58U Series MICRO GRIP Pro"
  events:
    KEY (0001): 0120  0121  0122  0123  0124  0125  0126  0127 
                0128  0129  012a  012b 
    ABS (0003): 0000  : value 128, min 0, max 255, fuzz 0, flat 15, resolution 0
                0001  : value 128, min 0, max 255, fuzz 0, flat 15, resolution 0
                0002  : value 128, min 0, max 255, fuzz 0, flat 15, resolution 0
                0005  : value 128, min 0, max 255, fuzz 0, flat 15, resolution 0
                0010  : value 0, min -1, max 1, fuzz 0, flat 0, resolution 0
                0011  : value 0, min -1, max 1, fuzz 0, flat 0, resolution 0
    MSC (0004): 0004 
  input props:
    <none>
复制代码

主要看abs后面有6行,代表6个相对坐标参数,是两个摇杆,方向键的数据,记录每行开始的数字,这里是0,1,2,5,10,11
另外,可以看到key后列了12个数字,是16进制,转换成10进制应该和1.2抄的扫描码相同

2 编写配置文件
2.1 用文件管理器,进到根目录、data/app里找到你装的游戏
如合金弹头x的名字是com.putaolab.emu2.hejindantoux-1.apk
简单的办法就是看图标认程序

2.2用es文件管理器选择apk,菜单选打开(直接点是安装,菜单打开是查看zip内部)
在里面assets\ptsdk\c文件夹应该能看到很多类似
Vendor_1241_Product_5045_Version_0100.pkl的文件。随便解压出来一个

2.3将文件名改成你的手柄的vid/pid.后面version的数字不知什么意思,看起来是4位数字,大部分文件是0或1
这么一来就有十六种可能,一会写完文件,复制16份,分别叫0000,0001,0010一直到1111,就行

2.4打开文件,内容可能如下

复制代码
# Gamepad scancode to destination GPCode

# For SANWA Supply JY-P58U USB Controller
# "HOLTEK JY-P58U Series MICRO GRIP Pro"
# Vendor_1241_Product_5045

#cfg_mouse_reverse 0 0

key 288 96
key 290 97
key 289 99
key 291 100
key 292 102
key 294 103
key 293 243
key 295 244
key 296 4
key 297 108
key 298 106
key 299 107

axis 0x00 0
axis 0x01 1
axis 0x02 11
axis 0x05 14
axis 0x10 15
axis 0x11 16
复制代码

以#开头的行是注释,写什么都无所谓
下面key开头的是按键映射,后面两个数字是按键scan code(1.2记录的)和目标键值
如288是我的A键的scancode,96是系统标准button A的数值
上面依次定义A,B,X,Y,L1,R1,L2,R2,slelct,start,左摇杆按下,右摇杆按下
(目标键值别改,具体可以百度akeycode_button_a,注意select,start和L2,R2的定义很特别)

以axis开头的是方向键和摇杆,对应1.3的数字,前面四个是两个摇杆,10,11是方向键

 

posted @   ccqin  阅读(1635)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示