# Joystick **Repository Path**: maoTVReporter/Joystick ## Basic Information - **Project Name**: Joystick - **Description**: java+JNA+cpp的手柄控制鼠键程序 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-12-11 - **Last Updated**: 2025-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Joystick #### 介绍 手柄控制鼠键程序; 使用DirectInput8 API实现手柄设备控制相关功能,支持连接方式:HID,DInput,XInput; #### 设备兼容性 * 支持[某廉价手柄]:无线HID,有线XInput和DInput * 不支持[XBox series]: 无线和有线XInput, 不能后台获取手柄事件 https://www.coder.work/article/3328715 https://github.com/DJm00n/cppwinrtgamepad #### 权限说明 由于window的[UIPI](https://www.baidu.com/s?wd=UIPI)机制,程序权限不足时会导致控制失效; 有高级权限程序的如:任务管理器,管理员运行的[微信,jar程序] 目前解决方案:使用管理员运行本程序;某些程序在管理员下仍无法操作,如360 最佳解决方案:加入虚拟HID鼠键设备实现控制功能,但实现难度大; 如[Monect](https://www.baidu.com/s?wd=Monect), 可以完美支持任何界面操作,包括系统登陆界面; #### 类似的软件 + Monect:收费,功能最全的控制类软件 + Steam内置功能:免费,只支持XInput + JoyToKey:收费,不支持HID模式??(只在一台电脑上尝试过) #### 项目启动说明 + 请参考[<项目启动说明>](https://gitee.com/maoTVReporter/hup-utils-parent/blob/master/项目启动说明.md) #### 技术点/难点 + java+JNA+cpp + [cpp项目](https://gitee.com/maoTVReporter/JoystickCpp):完全零基础开始的clion+cpp+JNA简单项目 + `[hup-commons]` + .[**FileUtil**]:获取文件/快捷方式的图标和源文件路径 + .[**HRobotJni**]:java+JNI+cpp+winApi,实现之前纯java没有的功能,如:控制系统音量等 + `[hup-swing]` + .[**WindowEdgeHideHelper**]:实现窗口在屏幕边缘时自动隐藏;类似QQ的效果 + .[**WindowBoundsAdjustor**]:用鼠标调节组件[位置,大小]的控制器 + .[**KeyboardText,NotInputTextView**]:用于捕获/设置键盘快捷键的控件,支持设置[Window+D,Alt+F4]类型的快捷键 #### 截图
![]() |
![]() |