# joystick_bsp **Repository Path**: shaolee/joystick_bsp ## Basic Information - **Project Name**: joystick_bsp - **Description**: Joystick手柄Linux平台使用 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-12-11 - **Last Updated**: 2023-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # joystick_bsp #### 介绍 Joystick手柄Linux平台使用 #### 架构 由单独的线程运行状态机主函数:JOY_Routine 主要状态如下: JOY_IDLE: 初始状态 JOY_CONNECT: 建立连接状态,在初始状态下调用JOY_Start后切换到此状态,或者是断开连接后,在JOY_RECOVERY状态切换到此状态 JOY_READY:暂未使用 JOY_RUN:open成功,建立连接之后,切换到此状态,在此状态下调用read函数读取js_event事件,并转换为外部事件JOY_EVENT_S,调用注册的回调函数,在回调函数中对事件进行处理 JOY_RECOVERY:读取事件失败,断开连接后切换到此状态 JOY_STOP:调用JOY_Stop函数后切换到此状态 JOY_ERROR:异常状态 ``` typedef struct _joy_event { unsigned int uiType; // 事件类型 int iNumber; // 同js_event number int iValue; // 同js_event value } JOY_EVENT_S; // 事件类型 #define JOY_EVT_BUTTON 0x00000001 #define JOY_EVT_AXIS 0x00000002 #define JOY_EVT_CONN 0x00000004 #define JOY_EVT_DISCONN 0x00000008 #define JOY_EVT_INIT 0x00000080 ``` #### 使用说明 1. JOY_Start("/dev/input/js0") 启动Joystick线程,并创建连接 2. JOY_RegisterCallback 注册事件回调函数 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request