Mapillary Keybindings

Add more keyboard shortcuts to Mapillary (fork of https://greasyfork.org/en/scripts/35371-mapillary-keybindings, http://affeali.bit, AffeAli)

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

Advertisement:

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

Advertisement:

// ==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();
            }
        };
    }
}