快乐论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 3822|回复: 1
收起左侧

DIY支持自己的手柄,让你的旧手柄重生.

[复制链接]
  • TA的每日心情
    开心
    2023-11-19 15:29
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    1284

    帖子

    4万

    金币

    5万

    积分

    站长

    Rank: 9Rank: 9Rank: 9

    积分
    51244

    优秀版主

    发表于 2014-4-19 21:20 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 99423 于 2014-4-19 21:24 编辑

    先发真像镇楼

                                   
    登录/注册后可看大图



    以下代表本人的真实经历,与大家分享
    但我对类似操作不作任何保证

    起源,很简单,就是我的旧usb手柄在葡萄的游戏里不能用,
    已经通过gamekeybord.apk或放layout文件方式让系统能忍,但进游戏就动不了。

    准备,root系统,安装目标游戏

    步骤1,收集手柄信息,这和做系统layout配置文件很像
    1.1,确定vid和pid
    简单办法就是把手柄查到电脑上,在设备管理器看手柄的属性,最后一页

                                   
    登录/注册后可看大图



    1.2,确定手柄按键扫描码对应关系
    装这个程序  
    游客,如果您要查看本帖隐藏内容请回复

    备用下载地址:
    游客,如果您要查看本帖隐藏内容请回复




                                   
    登录/注册后可看大图


    运行,记录你每个按键对应的scan code

    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>

    这里可以看到key后列了12个数字,是16进制,转换成10进制应该和1.2抄的扫描码相同
    ab后面有6行,代表6个相对坐标参数,是两个摇杆,方向键的数据

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

    2.2将文件扩展名改成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和目标键值
    288是我的A键的scancode,96是系统定义button的数值,具体可以百度akeycode_button_a
    上面依次定义A,B,X,Y,L1,R1,L2,R2,slelct,start,左摇杆按下,右摇杆按下
    特别注意select,start和L2,R2的定义

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

    3,打包,将你的配置文件16个都加到压缩文件,然后讲扩展名改回apk
    正常流程应该给安装包重新签名,可我不会,就用临时办法
    用文件管理器,将你改好的文件直接放到根目录/data/app里,

    4,验证奇迹的时刻,运行程序,看看手柄能用不
    运气好的话,在介绍按键那页,左上角就多个手柄图标,下来也能正常操作

                                   
    登录/注册后可看大图



    后记,此方法一次改一个游戏,求官方将我的配置文件收录,有一天不用改也能玩新游戏
    Vendor_1241_Product_5045_Version_0100.zip

    建议,官方在游戏厅加个配置文件生成、收集的的功能,
    然后回传服务器,下个版本就能一下支持一大票手柄了
    快乐论坛http://bbs.99423.com

    该用户从未签到

    128

    帖子

    227

    金币

    391

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    391
    发表于 2014-7-9 13:15 | 显示全部楼层
    不出,非常好!!!!!!!!
    快乐论坛http://bbs.99423.com
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|快乐论坛 ( 粤ICP备2021023480号 )

    GMT+8, 2024-4-24 01:33 , Processed in 0.142949 second(s), 27 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表