最近一个项目中需要用到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、完毕!

转载于:https://www.cnblogs.com/beyonne/p/10932152.html

Linux系统中使用Xbox360手柄相关推荐

  1. linux数据库什么意思,Linux系统中的数据库命令是什么

    Linux系统中难免会跟数据库打交道的时候,掌握数据库相关命令是很重要的.下面由学习啦小编为大家整理了Linux系统中数据库命令是什么的相关知识,希望对大家有帮助! Linux系统中的数据库命令是什么 ...

  2. Linux系统中运行.sh文件的几种方法

    在Linux系统中执行.sh文件的几种方法: 1. cd到.sh文件所在的目录,然后执行./xxx.sh   [前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh]  2. 在任何 ...

  3. LINUX系统中进程如何管理控制(一)

    上篇文章详细介绍了LINUX命令程序通过获取SHELL环境中的数据(此处的数据通常称为环境变量)来输出本机相应的配置数据,从而掌握在LINUX中SHELL环境的搭建技巧.那么,今天,这篇文章主要围绕l ...

  4. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  5. linux系统中安装java

    linux系统中安装java 文章目录 linux系统中安装java 视频 检查是否安装jdk 下载jdk的tar.gz版本 创建jdk文件夹 上传到服务器 解压到 /usr/local/java/ ...

  6. linux 权限 x 表示,在Linux系统中,用户对目录拥有“x”权限,表示可以执行下列哪种操作?...

    在Linux系统中,用户对目录拥有"x"权限,表示可以执行下列哪种操作? 更多相关问题 通过花的中心只能作1个对称面称辐射对称花. 王叔和归纳了脉象( )种,规范了脉象名称. 车轮 ...

  7. Linux系统中的软件管理

    Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...

  8. linux系统中的日志管理

    Linux系统中的日志管理 1 实验环境 2 journald日志服务 2.1 journalctl命令的用法 2.2 用journald服务永久存放日志 3 rsyslog日志服务 3.1 自定义日 ...

  9. linux系统中的文件传输

    Linux系统中的文件传输 1 实验环境 2 scp命令 3 rsync命令 3.1 rsync和scp命令对比 3.2 rsync命令用法 4 文件的归档压缩 4.1 文件归档 4.2 文件压缩 4 ...

  10. centos6重启网络命令_虚拟机-linux系统中图形界面和命令行界面切换

    linux系统中图形化界面和命令行界面之间的切换可以分为两种,临时性切换和永久性切换. 临时性切换即切换后只对本次生效,系统重启后界面还是默认界面. 永久性切换即切换后系统开机后永远处于的界面. 临时 ...

最新文章

  1. 【FFmpeg】自定义回调函数处理AVIOContext中的数据
  2. 创新创新再创新(4)
  3. python mask 添加logo
  4. 动态创建DataGrid的模版列(转)
  5. 【原创】如何写一个框架:步骤(下)
  6. (39) gulp开发服务器
  7. 将Windows8或WindowsServer2012装在VHD上
  8. mysql 清空二进制日志
  9. 仿Hex-Editor,实现简单地二进制文件查看器JHexer
  10. uplift 模型开源包(causalml)尝试
  11. noob_Noob选择JavaScript框架指南
  12. 一大堆概率概念_拔剑-浆糊的传说_新浪博客
  13. c++读取stl文件
  14. JS调用摄像头、实时视频流上传(一次不成功的试验)
  15. 解决电脑桌面图标显示为空白图片
  16. hdoj 开门人和关门人
  17. DSP的GEL文件详解
  18. 阿里再爆调整组织架构;苹果秘密研究卫星传输iPhone数据,想摆脱运营商网络;联发科天玑1000:首款采用4颗A77的芯片……...
  19. noi linux 比赛使用哪个编译器,NOI比赛用什么编译器?TP还是FP,那里有下载?
  20. Ant Design Pro入门教程 安装框架

热门文章

  1. 如何获得自己的外网IP?
  2. python模拟登录163邮箱_用python实现模拟登陆163邮箱
  3. python gamma函数_Python 不完全伽马函数
  4. tesorflow2.1.0环境下,tf.keras使用Range优化器(RAdam+Lookahead)
  5. 前端知识3.2nodejs安装以及初始化目录
  6. iOS --切换控制器方式 push / modal
  7. CPC是什么意思和CPM、CPV有什么不同?
  8. tomcat5下get请求中文乱码
  9. 集群通信组件tribes之集群的平行通信
  10. 文字怎么转化计算机代码,如何把文字转换成代码