You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3B+(Raspbian64)下jInput找不到jinput-linux64.so问题求助

解决树莓派Raspbian64上jInput的库加载与控制器识别问题

一、修复jinput-linux64库找不到的问题

Java加载本地库时会自动给库名加上lib前缀,你之前创建libjinput-linux64.so软链接的思路是对的,只需确保链接路径正确且被Java识别:

  1. 先定位apt安装的libjinput.so位置:
    find /usr -name libjinput.so
    
    通常结果为/usr/lib/aarch64-linux-gnu/libjinput.so
  2. 将其软链接到Java的java.library.path指定目录(比如你的/opt/java/libs/):
    sudo ln -s /usr/lib/aarch64-linux-gnu/libjinput.so /opt/java/libs/libjinput-linux64.so
    
  3. 若不想手动指定路径,也可把软链接放到Java默认扫描的系统JNI目录:
    sudo ln -s /usr/lib/aarch64-linux-gnu/libjinput.so /usr/lib/jni/libjinput-linux64.so
    
    这样运行程序时无需额外设置-Djava.library.path参数。

二、解决按钮显示“unknown”的问题

这个问题是因为jInput缺少对应控制器的映射文件,需手动添加:

  1. 查看控制器硬件信息,获取厂商和产品ID:
    cat /proc/bus/input/devices
    
    找到你的控制器条目,记录Vendor=0xXXXX和Product=0xYYYY的值。
  2. 定位jInput的映射文件目录:
    • 若用项目内的jInput包,映射目录通常在jinput.jar同目录下的linux文件夹;
    • 若通过apt安装,映射目录一般是/usr/share/jinput/。
  3. 在映射目录下创建自定义映射文件(比如my_controller.properties),格式参考现有文件:
    vendor_id=0xXXXX
    product_id=0xYYYY
    # 按实际按钮/轴编号对应名称
    button.0=A键
    button.1=B键
    axis.0=X轴
    axis.1=Y轴
    
  4. 重启Java程序,控制器按钮名称即可正常显示。

内容的提问来源于stack exchange,提问作者Landyn J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:07:34