xfangfang / wiliwili

第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上
https://xfangfang.github.io/wiliwili
GNU General Public License v3.0
2.98k stars 145 forks source link

[MacOS] 手柄不好使 #350

Closed lsdao closed 1 month ago

lsdao commented 1 month ago

手柄是 魔派赤兔 电脑是m1 #54那个的方法都试过了 咋都不好使啊 麻烦哪位大佬帮忙看看

21:41:09.687[INFO] Load window state: 1280x720,116x131 21:41:09.687[INFO] Set app theme: Dark 21:41:09.687[INFO] Set app locale: zh-Hans 21:41:09.751[INFO] Using platform GLFW 21:41:09.789[INFO] glfw: GL Vendor: Apple 21:41:09.789[INFO] glfw: GL Renderer: Apple M1 Pro 21:41:09.789[INFO] glfw: GL Version: 4.1 Metal - 83.1 21:41:09.789[INFO] glfw: GLFW Version: 3.4.0 21:41:09.792[WARNING] Cannot find custom gamepad db, (Searched at: /Users/ll/Library/Application Support/wiliwili/gamecontrollerdb.txt) 21:41:09.800[INFO] glfw: joystick 0 GUID 030000007e0500000920000001000000 21:41:09.800[INFO] glfw: joystick 0 connected 21:41:09.800[INFO] glfw: joystick 0 is gamepad: "Nintendo Switch Pro Controller" 21:41:09.801[WARNING] Cannot find custom font, (Searched at: /Users/ll/Library/Application Support/wiliwili/font.ttf) 21:41:09.801[INFO] Using internal font: ./resources/font/switch_font.ttf 21:41:09.806[INFO] Using korean font: /System/Library/Fonts/AppleSDGothicNeo.ttc 21:41:09.806[INFO] Load emoji font: ./resources/font/emoji.ttf 21:41:09.807[INFO] Load keymap icon: ./resources/font/keymap_xbox.ttf 21:41:09.810[INFO] createWindow done 21:41:09.874[INFO] IME switched: ON 21:41:09.874[INFO] IME switched: ON 21:41:10.216[INFO] max_thread_num: 4 21:41:11.140[INFO] IME switched: ON 21:41:12.136[ERROR] Cannot check update: 403 {"message":"API rate limit exceeded for 153.254.103.229. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

21:41:24.381[INFO] glfw: joystick 0 disconnected 21:41:24.419[INFO] IME switched: ON 21:41:24.419[INFO] IME switched: ON 21:41:24.419[INFO] IME switched: ON 21:41:33.040[INFO] glfw: joystick 0 connected 21:41:33.040[INFO] glfw: joystick 0 is gamepad: "Nintendo Switch Pro Controller"

xfangfang commented 1 month ago

@lsdao 根据log,你没有设置 gamecontrollerdb.txt

如果之前设置过也不好用,可以将当时的配置和log一并提交过来。

lsdao commented 1 month ago

你好 这是默认配置: 030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, 030000007e0500000920000010020000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:Mac OS X, 050000007e05000009200000ff070000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:Mac OS X,

22:08:16.165[INFO] Set app theme: Dark 22:08:16.165[INFO] Set app locale: zh-Hans 22:08:16.245[INFO] Using platform GLFW 22:08:16.282[INFO] glfw: GL Vendor: Apple 22:08:16.282[INFO] glfw: GL Renderer: Apple M1 Pro 22:08:16.282[INFO] glfw: GL Version: 4.1 Metal - 83.1 22:08:16.282[INFO] glfw: GLFW Version: 3.4.0 22:08:16.286[INFO] Load custom gamepad db: /Users/ll/Library/Application Support/wiliwili/gamecontrollerdb.txt 22:08:16.300[INFO] glfw: joystick 0 GUID 030000007e0500000920000001000000 22:08:16.300[INFO] glfw: joystick 0 connected 22:08:16.300[INFO] glfw: joystick 0 is gamepad: "Nintendo Switch Pro Controller" 22:08:16.301[WARNING] Cannot find custom font, (Searched at: /Users/ll/Library/Application Support/wiliwili/font.ttf) 22:08:16.301[INFO] Using internal font: ./resources/font/switch_font.ttf 22:08:16.307[INFO] Using korean font: /System/Library/Fonts/AppleSDGothicNeo.ttc 22:08:16.307[INFO] Load emoji font: ./resources/font/emoji.ttf 22:08:16.307[INFO] Load keymap icon: ./resources/font/keymap_xbox.ttf 22:08:16.309[INFO] createWindow done 22:08:16.388[INFO] IME switched: ON 22:08:16.388[INFO] IME switched: ON 22:08:16.772[INFO] max_thread_num: 4 22:08:17.690[INFO] IME switched: ON

我改成 xbox 也还是不好使 030000007e0500000920000001000000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, 030000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, 030000005e040000130b000009050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, 030000005e040000130b000013050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,

22:12:01.045[INFO] Load window state: 1280x720,116x131 22:12:01.045[INFO] Set app theme: Dark 22:12:01.045[INFO] Set app locale: zh-Hans 22:12:01.114[INFO] Using platform GLFW 22:12:01.154[INFO] glfw: GL Vendor: Apple 22:12:01.154[INFO] glfw: GL Renderer: Apple M1 Pro 22:12:01.154[INFO] glfw: GL Version: 4.1 Metal - 83.1 22:12:01.154[INFO] glfw: GLFW Version: 3.4.0 22:12:01.159[INFO] Load custom gamepad db: /Users/ll/Library/Application Support/wiliwili/gamecontrollerdb.txt 22:12:01.171[INFO] glfw: joystick 0 GUID 030000007e0500000920000001000000 22:12:01.172[WARNING] Cannot find custom font, (Searched at: /Users/ll/Library/Application Support/wiliwili/font.ttf) 22:12:01.172[INFO] Using internal font: ./resources/font/switch_font.ttf 22:12:01.179[INFO] Using korean font: /System/Library/Fonts/AppleSDGothicNeo.ttc 22:12:01.179[INFO] Load emoji font: ./resources/font/emoji.ttf 22:12:01.180[INFO] Load keymap icon: ./resources/font/keymap_xbox.ttf 22:12:01.183[INFO] createWindow done 22:12:01.266[INFO] IME switched: ON 22:12:01.266[INFO] IME switched: ON 22:12:01.649[INFO] max_thread_num: 4 22:12:02.722[INFO] IME switched: ON

xfangfang commented 1 month ago

后面的这些内容您是怎么写的?请使用:https://www.generalarcade.com/gamepadtool/ 来生成

lsdao commented 1 month ago

好的感谢 我试一下

lsdao commented 1 month ago

您好这是生成的配置 和 log, 还是不好使 030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,

22:46:28.606[INFO] Set app theme: Dark 22:46:28.606[INFO] Set app locale: zh-Hans 22:46:28.673[INFO] Using platform GLFW 22:46:28.712[INFO] glfw: GL Vendor: Apple 22:46:28.712[INFO] glfw: GL Renderer: Apple M1 Pro 22:46:28.712[INFO] glfw: GL Version: 4.1 Metal - 83.1 22:46:28.712[INFO] glfw: GLFW Version: 3.4.0 22:46:28.716[INFO] Load custom gamepad db: /Users/ll/Library/Application Support/wiliwili/gamecontrollerdb.txt 22:46:28.731[INFO] glfw: joystick 0 GUID 030000007e0500000920000001000000 22:46:28.731[INFO] glfw: joystick 0 connected 22:46:28.731[INFO] glfw: joystick 0 is gamepad: "Nintendo Switch Pro Controller" 22:46:28.732[WARNING] Cannot find custom font, (Searched at: /Users/ll/Library/Application Support/wiliwili/font.ttf) 22:46:28.732[INFO] Using internal font: ./resources/font/switch_font.ttf 22:46:28.739[INFO] Using korean font: /System/Library/Fonts/AppleSDGothicNeo.ttc 22:46:28.739[INFO] Load emoji font: ./resources/font/emoji.ttf 22:46:28.740[INFO] Load keymap icon: ./resources/font/keymap_xbox.ttf 22:46:28.740[INFO] createWindow done 22:46:28.796[INFO] IME switched: ON 22:46:28.796[INFO] IME switched: ON 22:46:29.194[INFO] max_thread_num: 4 22:46:31.066[ERROR] Cannot check update: 403 {"message":"API rate limit exceeded for 153.254.103.228. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

22:46:35.759[INFO] IME switched: ON 22:46:54.902[INFO] glfw: joystick 0 disconnected 22:46:54.945[INFO] IME switched: ON 22:46:54.945[INFO] IME switched: ON 22:46:54.945[INFO] IME switched: ON 22:46:57.486[INFO] IME switched: ON 22:47:00.967[INFO] glfw: joystick 0 connected 22:47:00.967[INFO] glfw: joystick 0 is gamepad: "Nintendo Switch Pro Controller"

CleanShot 2024-05-21 at 22 50 14@2x 请问跟这个设置有关系吗 这里没有switch pro 的选项 我需要模拟 xbox 手柄吗

xfangfang commented 1 month ago

和设置没关系,那个只是图标的设置。我有一个小的建议是,你可以给配置改个名字,确认一下wiliwili真的加载的是你的配置。(意思是别叫默认的switchpro什么的那个名字了)

如果你在那个生成配置的软件里能看到正常的按键响应,但是wiliwili内不好用,我就也不知道原因了。

可以联系手柄厂商看看,可能是他们本来就不支持mac,或者限制在蓝牙或连线模式等。

lsdao commented 1 month ago

好的感谢感谢🙏

xfangfang commented 1 month ago

https://github.com/xfangfang/borealis/blob/1e96a73727a688e2d68c6a0dd9cd7b1fd3ac461c/library/lib/platforms/glfw/glfw_input.cpp#L181

这里是配置加载的位置,如果实在是有问题,只能拉代码自己排查一下了

xfangfang commented 1 month ago

刚刚找了一个ps4的手柄测试了一下是没问题的,默认的映射是 X -> A; O -> B,使用前面说的那个软件生成了自定义的映射 O -> A; X -> B,加载也都是正常的。

有区别的是,我生成的配置是这样的格式(注意到那个 platform:Mac OS 出现的位置和内容与你生成的不太一样),我正在使用 m2 的macOS,有些奇怪哈。

030000004c050000cc09000000010000,PS4_fang,platform:Mac OS X,a:b2,b:b1,x:b3,y:b0,back:b8,guide:b13,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,

这串内容是在前面提到的软件内,点击 Copy mapping string 后自动复制到剪贴板的,在得到这样的字符串之后,直接保存在txt文件内就行。

无论是什么原因,这个应该可以确认已经不是wiliwili这边的问题了,先关闭这个issue了,如果之后问题解决了欢迎随时回来回复,我会将经验同步到wiki中供更多的人参考,感谢~