mirror of
https://github.com/FlamedDogo99/EaglerMobile.git
synced 2024-11-21 03:26:04 -08:00
Merge pull request #8 from colbychittenden/main
Added keyboard toggling
This commit is contained in:
commit
41f6a7d88a
|
@ -23,6 +23,7 @@ function isMobile() {
|
|||
if(!isMobile()) {
|
||||
alert("WARNING: This script was created for mobile, and may break functionality in non-mobile browsers!");
|
||||
}
|
||||
window.keyboardEnabled = false;
|
||||
window.crouchLock = false;
|
||||
window.sprintLock = false;
|
||||
// Used for changing touchmove events to mousemove events
|
||||
|
@ -105,7 +106,7 @@ document.exitFullscreen = function() {
|
|||
}
|
||||
|
||||
// FILE UPLOADING
|
||||
// Safari doesn't recognize the element.click() used to display the file uplaoder as an action performed by the user, so it ignores it.
|
||||
// Safari doesn't recognize the element.click() used to display the file uploader as an action performed by the user, so it ignores it.
|
||||
// This hijacks the element.createElement() function to add the file upload to the DOM, so the user can manually press the button again.
|
||||
var oldCreate = document.createElement;
|
||||
document.createElement = function(type, ignore) {
|
||||
|
@ -173,6 +174,17 @@ function createTouchButton(buttonClass, buttonDisplay, elementName) {
|
|||
return touchButton;
|
||||
}
|
||||
|
||||
function toggleKeyboard() {
|
||||
const keyboardInput = document.getElementById('hiddenInput');
|
||||
if (window.keyboardEnabled) {
|
||||
window.keyboardEnabled = false;
|
||||
keyboardInput.blur();
|
||||
} else {
|
||||
window.keyboardEnabled = true;
|
||||
keyboardInput.select();
|
||||
}
|
||||
}
|
||||
|
||||
waitForElm('canvas').then(() => {insertCanvasElements()});
|
||||
function insertCanvasElements() {
|
||||
// Translates touchmove events to mousemove events when inGame, and touchmove events to wheele events when inMenu
|
||||
|
@ -311,15 +323,13 @@ function insertCanvasElements() {
|
|||
document.body.appendChild(exitButton);
|
||||
// input for keyboard button
|
||||
let hiddenInput = document.createElement('input', true);
|
||||
hiddenInput.type = "text"
|
||||
hiddenInput.id = "hiddenInput"
|
||||
// hiding behind button for opacity issues
|
||||
hiddenInput.style.cssText = "z-index: -999; top: 0vh; margin: auto; left: 8vh; right:0vh; width: 8vh; height: 8vh;";
|
||||
hiddenInput.style.cssText = "opacity:0;z-index:-99999";
|
||||
document.body.appendChild(hiddenInput);
|
||||
let keyboardButton = createTouchButton("keyboardButton", "inMenu");
|
||||
keyboardButton.style.cssText = "top: 0vh; margin: auto; left: 8vh; right:0vh; width: 8vh; height: 8vh;"
|
||||
keyboardButton.addEventListener("touchstart", function(e){e.preventDefault();hiddenInput.blur()}, false);
|
||||
keyboardButton.addEventListener("touchend", function(e){hiddenInput.select()}, false);
|
||||
keyboardButton.addEventListener("touchend", function(e){e.preventDefault();toggleKeyboard()}, false);
|
||||
document.body.appendChild(keyboardButton);
|
||||
let placeButton = createTouchButton("placeButton", "inGame");
|
||||
placeButton.style.cssText = "right:0vh;bottom:20vh;"
|
||||
|
|
Loading…
Reference in New Issue
Block a user