From 3c04df69f3d7ea2e1b273bdc189a2348ae974941 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Tue, 23 Nov 2021 00:27:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=89=8B=E6=9F=84=E6=97=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=9D=BE=E5=BC=80=E6=89=80=E6=9C=89=E6=8C=89?= =?UTF-8?q?=E4=B8=8B=E4=BA=86=E7=9A=84=E9=94=AE=EF=BC=8C=E6=95=B4=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/init.lua | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Zframework/init.lua b/Zframework/init.lua index 1183b557..30f09f2a 100644 --- a/Zframework/init.lua +++ b/Zframework/init.lua @@ -298,6 +298,15 @@ local jsAxisEventName={ triggerleft='triggerleft', triggerright='triggerright' } +local gamePadKeys={'a','b','x','y','back','guide','start','leftstick','rightstick','leftshoulder','rightshoulder','dpup','dpdown','dpleft','dpright'} +local dPadToKey={ + dpup='up', + dpdown='down', + dpleft='left', + dpright='right', + start='return', + back='escape', +} function love.joystickadded(JS) jsState[JS:getID()]={ _loveJSObj=JS, @@ -310,6 +319,11 @@ end function love.joystickremoved(JS) local js=jsState[JS:getID()] if js then + for i=1,#gamePadKeys do + if JS:isGamepadDown(gamePadKeys[i])then + love.gamepadreleased(JS,gamePadKeys[i]) + end + end love.gamepadaxis(JS,'leftx',0) love.gamepadaxis(JS,'lefty',0) love.gamepadaxis(JS,'rightx',0) @@ -320,7 +334,6 @@ function love.joystickremoved(JS) MES.new('info',"Joystick removed") end end - function love.gamepadaxis(JS,axis,val) local js=jsState[JS:getID()] if js then @@ -355,15 +368,6 @@ function love.gamepadaxis(JS,axis,val) end end end - -local dPadToKey={ - dpup='up', - dpdown='down', - dpleft='left', - dpright='right', - start='return', - back='escape', -} function love.gamepadpressed(_,i) mouseShow=false if SCN.swapping then return end