zoukankan      html  css  js  c++  java
  • Linux系统中使用Xbox360手柄

      最近一个项目中需要用到Xbox360游戏手柄,硬件平台为周立功A7开发板,EPC-6G2C-L,折腾半天,终于弄好了;

      正常电脑Ubuntu系统是自带手柄驱动的,将手柄插上电脑USB接口,将自动出现设备接口文件,路径为/dev/input/js0;

    只要电脑能找到js0,则手柄可以正常使用,直接读写文件即可获取手柄各个按钮及旋钮的值;

      但是A7板卡上并不是完整的Ubuntu系统,而只是一个Linux内核,所以无论怎么插拔360手柄,都无法找到js0;进而也

    无法操作手柄,究其原因就是内核驱动不支持,Joystick驱动程序并未加载内核中,知道原因了,就好搞了,方法就是重新

    编译内核,将驱动加载其中,然后给板卡重新烧录内核文件,步骤如下:

      1、在周立功官网下载相应板卡的系统源文件,解压tar zxvf linux-src-bsp-4.1.15-09-12.tar.gz;

      2、进入linux-src目录,修改built-zImage.sh文件,增加一行代码menuconfig,如下:

      3、执行命令:./built-zImage.sh,运行一段时间后,会弹出窗口,如下:

      4、仅此进入:Device Drivers--->Input device support,分别选择Joystick interface和Joysticks/Gamepads;

      5、同时进入Joysticks/Gamepads下级目录,选中如下三项:

      6、选完之后,保存退出,内核将继续编译;

      7、大概十几分钟后,编译完成,生成内核编译文件:arch/arm/boot/zImage;

      8、将zImage文件拷贝到板卡中,tftp -gr zImage 192.168.1.100
      9、擦除内核Flash,命令如下:

      10、烧写内核文件,如下:

      11、重启板卡系统后,将手柄插到板卡USB接口上,查看设备接口,如下:

      12、如上图,已经可以看到js0了,说明手柄驱动已装好,可以正常使用了;

      (插播一条:更新完内核文件后,可能还是看不到js0设备,这是可以手动加载驱动命令:sudo modprobe joydev

      13、网上搜一个Joystick的驱动代码(容易搜到),编译后,在板卡中执行,即可实时观察手柄各旋钮及按钮的值了,如下:

      14、完毕!

  • 相关阅读:
    选择前端编辑器
    由看书引发的一些思考
    不是真饿的时候吃些饱腹感强的东西
    微信浏览网页骗局
    辣椒你还吃着吗
    观影感悟
    python中函数加括号与不加括号
    视频流媒体服务器直播点播平台可以接入其他平台播放视频吗?
    视频直播点播流媒体服务器报accept4 () failed (24: Too many open files)错误解决方法
    视频直播点播流媒体服务器报worker_connections are not enough错误解决方法
  • 原文地址:https://www.cnblogs.com/beyonne/p/10932152.html
Copyright © 2011-2022 走看看