Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
cca5782d
Commit
cca5782d
authored
May 06, 2023
by
missionfloyd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve joypad performance
parent
5cbc1c5d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
6 deletions
+30
-6
javascript/imageviewerGamepad.js
javascript/imageviewerGamepad.js
+30
-6
No files found.
javascript/imageviewerGamepad.js
View file @
cca5782d
const
delay
=
250
//ms
const
delay
=
350
//ms
let
isWaiting
=
false
;
window
.
addEventListener
(
'
gamepadconnected
'
,
(
e
)
=>
{
window
.
addEventListener
(
'
gamepadconnected
'
,
(
e
)
=>
{
setInterval
(()
=>
{
setInterval
(
async
()
=>
{
if
(
!
opts
.
js_modal_lightbox_gamepad
)
return
;
if
(
!
opts
.
js_modal_lightbox_gamepad
||
isWaiting
)
return
;
const
gamepad
=
navigator
.
getGamepads
()[
0
];
const
gamepad
=
navigator
.
getGamepads
()[
0
];
const
xValue
=
gamepad
.
axes
[
0
];
const
xValue
=
gamepad
.
axes
[
0
];
if
(
xValue
<
-
0.3
)
{
if
(
xValue
<
=
-
0.3
)
{
modalPrevImage
(
e
);
modalPrevImage
(
e
);
}
else
if
(
xValue
>
0.3
)
{
isWaiting
=
true
;
}
else
if
(
xValue
>=
0.3
)
{
modalNextImage
(
e
);
modalNextImage
(
e
);
isWaiting
=
true
;
}
}
},
delay
);
if
(
isWaiting
)
{
await
sleepUntil
(()
=>
{
const
xValue
=
navigator
.
getGamepads
()[
0
].
axes
[
0
]
if
(
xValue
<
0.3
&&
xValue
>
-
0.3
)
{
return
true
;
}
},
delay
);
isWaiting
=
false
;
}
},
10
);
});
});
/*
/*
...
@@ -31,3 +43,15 @@ window.addEventListener('wheel', (e) => {
...
@@ -31,3 +43,15 @@ window.addEventListener('wheel', (e) => {
isScrolling
=
false
;
isScrolling
=
false
;
},
delay
);
},
delay
);
});
});
function
sleepUntil
(
f
,
timeout
)
{
return
new
Promise
((
resolve
)
=>
{
const
timeStart
=
new
Date
();
const
wait
=
setInterval
(
function
()
{
if
(
f
()
||
new
Date
()
-
timeStart
>
timeout
)
{
clearInterval
(
wait
);
resolve
();
}
},
20
);
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment