xpad, 用于 Xbox/xbox360 360/Xbox微控制器的Linux内核驱动程序

分享于 

4分钟阅读

GitHub

  繁體 雙語
Linux Kernel Driver for the Xbox/ Xbox 360/ Xbox 360 Wireless/ Xbox One Controllers
  • 源代码名称:xpad
  • 源代码网址:http://www.github.com/paroj/xpad
  • xpad源代码文档
  • xpad源代码下载
  • Git URL:
    git://www.github.com/paroj/xpad.git
    Git Clone代码到本地:
    git clone http://www.github.com/paroj/xpad
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/paroj/xpad
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    更新了 Xpad Linux内核驱动程序

    Xbox/xbox360 360无线/Xbox控制器驱动

    这里驱动程序包括上游linux内核的最新更改,并且执行以下步骤更改:

    • 启用调试输出以轻松解决问题
    • 一些次要代码重构提高可读性
    安装
    
    sudo git clone https://github.com/paroj/xpad.git/usr/src/xpad-0.4
    
    
    sudo dkms install -m xpad -v 0.4
    
    
    
    
    更新
    
    cd/usr/src/xpad-0.4
    
    
    sudo git fetch
    
    
    sudo git checkout origin/master
    
    
    sudo dkms remove -m xpad -v 0.4 --all
    
    
    sudo dkms install -m xpad -v 0.4
    
    
    
    
    删除
    
    sudo dkms remove -m xpad -v 0.4 --all
    
    
    sudo rm -rf/usr/src/xpad-0.4
    
    
    
    
    用法

    这里驱动程序为每个附加的游戏手柄创建三个设备

    • /dev/input/js 英镑
    • 示例 jstest/dev/input/js0
    • /sys/class/leds/xpad /亮度
    • 例子 echo COMMAND>/sys/class/leds/xpad0/brightness 命令是其中之一
      • 0: 关闭
      • 1: 所有闪烁,然后上一次设置
      • 2: 1/top-left 闪烁,然后打开
      • 3: 2/top-right 闪烁,然后打开
      • 4: 3/bottom-left 闪烁,然后打开
      • 5: 4/bottom-right 闪烁,然后打开
      • 6: 1/top-left
      • 7: 2/top-right
      • 8: 3/bottom-left
      • 9: 4/bottom-right
      • 10: 旋转
      • 11: 闪烁,基于先前设置
      • 12: 基于先前设置的慢速闪烁
      • 13: 使用两个灯光旋转
      • 14: 持续慢速闪烁
      • 15: 闪烁一次,然后再闪烁一次
    • 通用事件设备
    • 例子 fftest/dev/input/by-id/usb-*360*event*

    作为常规unpriveledged用户

    设置控制台以显示内核日志。
    dmesg --level=debug --follow

    打开一个新控制台并使用jstest访问该设备。
    jstest/dev/input/jsX

    设备交互并观察从设备接收的数据包打印到内核日志。

    
    [ 3968.772128] xpad-dbg: 00000000: 20 00 b5 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 40 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    [ 3968.772135] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    [ 3968.804137] xpad-dbg: 00000000: 20 00 b6 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 fc fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    [ 3968.804145] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    [ 3969.152120] xpad-dbg: 00000000: 20 00 b7 0e 00 00 00 00 00 00 0c 03 04 fd 6c 01 b8 fd 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    [ 3969.152129] xpad-dbg: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    
    
    

    保存dmesg缓冲区并附加到 Bug 报告,不要忘记在 Bug 报告中描述按钮序列。
    dmesg --level=debug> dmesg.txt

    Ctrl+C完成后关闭交互式控制台会话。

    发送上游
    • git format-patch --cover-letter upstream..master
    • git send-email --to xxx *.patch

    相关文章