日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Linux(Ubuntu 14.04) 罗技(logitech) G29 游戏方向盘数据解析(支持自定义开发)

發布時間:2023/12/10 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux(Ubuntu 14.04) 罗技(logitech) G29 游戏方向盘数据解析(支持自定义开发) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目上需要使用羅技(logitech) G29 游戲方向盤來進行演示遠程駕駛。

羅技(logitech) G29 游戲方向盤與window系統有專門的“logitech 游戲軟件”,可以對其驅動與設置,但是window系統要獲取方向盤數據,并進行定制開發好像要借助unity來實現,這個與我們主研方向不一致,所以沒必要時就不走這條路。

在linux系統下,有沒有辦法獲取方向盤數據?答案是肯定的。

當我們將G29連接上電腦時,在/proc/bus/input/devices 中會多出一個設備:/dev/input/event11 (或者 /dev/input/js0)

這個設備文件就是我們的G29的input節點,當我們轉動方向,或者踩油門時,這個節點上都會有數據產生。

可以通過以下命令查看:

cat /dev/input/js0 | hexdump

但這個打印出來的是原始的hex數據,沒有可讀性,那現在問題就是:如何將這個數據解析成具體的可讀的數據?

從網上找了許久的資料,沒有找到可參考的。無意間卻發現了一個操縱桿的校準工具:jstest-gtk

可以通過命令進行安裝:

apt-get install jstest-gtk

運行后(jstest-gtk /dev/input/js0 ),有一圖形界面,可以看到當操作g29時,數據在界面上都有對應的顯示,

方向盤、油門、剎車等,都有數據條,也就是說這個工具已經幫我們把?cat /dev/input/js0 | hexdump 進行了轉換,

那我們就可以基于這個源碼去開發了,(源碼下載地址:https://download.csdn.net/download/amlinsan/12274982)

拿到jstest-gtk-0.1.0后,要安裝以下工具:

apt-get install scons

apt-get install cmake

apt-get install sigc++

apt-get install gtkmm-2.4

apt-get install libboost-all-dev

如果是ubuntu 14.04的話,需要在軟件中心安裝:gtkglextmm

編譯時可能會報錯,在joystick.cpp中加下頭文件

#include <stdint.h>

#include <unistd.h>

編譯方式,執行: scons

運行方式: jstest-gtk /dev/input/event11

關于方向盤與按鈕等數據對應的接口是:

joystick_test_widget.cpp中的:

void
JoystickTestWidget::axis_move(int number, int value)
{
? axes.at(number)->set_fraction((value + 32767) / (double)(2*32767));

? std::ostringstream str;
? str << value;
? axes.at(number)->set_text(str.str());
? axis_callbacks[number](value / 32767.0);
? std::cout << "amlinsan axis_move-number:" << number << "; value:" << value << std::endl;
}

void
JoystickTestWidget::button_move(int number, bool value)
{
? if (value)
? ? buttons.at(number)->set_down(true);
? else
? ? buttons.at(number)->set_down(false);
? std::cout << "amlinsan button_move-number:" << number << "; value:" << value << std::endl;
}

接下來就在這里改就好了。

?

總結

以上是生活随笔為你收集整理的Linux(Ubuntu 14.04) 罗技(logitech) G29 游戏方向盘数据解析(支持自定义开发)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。