Add more keyboard shortcuts to Mapillary (fork of https://greasyfork.org/en/scripts/35371-mapillary-keybindings, http://affeali.bit, AffeAli)
// ==UserScript==
// @name Mapillary Keybindings
// @namespace https://github.com/davipt/mapillary
// @version 1.1
// @description Add more keyboard shortcuts to Mapillary (fork of https://greasyfork.org/en/scripts/35371-mapillary-keybindings, http://affeali.bit, AffeAli)
// @author davipt
// @match https://www.mapillary.com/*
// ==/UserScript==
setTimeout(exe, 1000);
function exe() {
if(window.location.href.startsWith("https://www.mapillary.com/app/")) {
window.onkeypress = function(e) {
if(e.key == 'd') { // delete
document.getElementsByClassName('DeleteStateBtn')[1].click();
}
if (e.key == "n") {
document.querySelectorAll("div.SequenceStepNext")[0].click();
}
if (e.key == "p") {
document.querySelectorAll("div.SequenceStepPrev")[0].click();
}
};
}
if(window.location.href.startsWith("https://www.mapillary.com/verification/p/")) {
if(document.querySelectorAll(".justify-around").length < 1) {
setTimeout(exe, 500);
return;
}
var control = document.querySelectorAll(".justify-around")[0];
// Safari needs "keyup" to capture the cursors
window.onkeyup = function(e) {
console.log(e);
if(e.keyCode == 38) { //UP = positive
control.children[2].click();
e.preventDefault();
return false;
}
if(e.keyCode == 40) { //DOWN = negative
control.children[1].click();
e.preventDefault();
return false;
}
if(e.keyCode == 39) { //LEFT = skip
control.children[3].click();
e.preventDefault();
return false;
}
if(e.keyCode == 37) { //RIGHT = revert
control.children[0].click();
e.preventDefault();
return false;
}
};
}
if(window.location.href.startsWith("https://www.mapillary.com/app/blur")) {
if(document.querySelectorAll("div.TagSymbol").length < 1) {
setTimeout(exe, 500);
return;
}
window.onkeypress = function(e) {
if(e.key == "c") {
var tags = document.querySelectorAll("div.TagSymbol");
for(var i = 0; i < tags.length; i++) {
tags[i].click();
}
}
if(e.key == "s") {
document.getElementById("submitButton").click();
}
};
}
}