// ==UserScript== // @name Antimisclic // @namespace YGL // @version 1.0 // @description Évitez les clics involontaires lors de l'utilisation de Chess.com // @license Gnu GPL -3.0 // @author Benjamin Moine // @match https://www.chess.com/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; var detectionDelay = 1000; // Définir le délai de détection par défaut (en millisecondes) var audioSrc = ''; // Chemin du fichier audio // Fonction pour détecter les glissements de doigts tactiles function handleTouchMove(event) { var lastTouch = handleTouchMove.lastTouch || {}; var now = Date.now(); var timeDiff = now - (lastTouch.time || 0); var touch = event.touches[0]; // Prendre la première touche pour simplifier // Calculer la distance parcourue depuis le dernier mouvement var deltaX = touch.clientX - (lastTouch.x || 0); var deltaY = touch.clientY - (lastTouch.y || 0); var distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); // Calculer la vélocité var velocity = distance / timeDiff; // Vérifier si la distance parcourue est anormalement grande en un court laps de temps // et si la vélocité est également significative if (timeDiff > detectionDelay && distance > 50 && velocity > 1.5) { // Vérifier si le mouvement est principalement horizontal ou vertical var angle = Math.abs(Math.atan2(deltaY, deltaX)); if (angle < Math.PI / 4 || angle > 3 * Math.PI / 4) { // Mouvement principalement horizontal console.log("Détection d'un glissement de doigt horizontal !"); event.preventDefault(); // Empêcher le comportement par défaut (clic) // Jouer le son de refus de clic if (audioSrc) { playAudio(audioSrc); } } else { // Mouvement principalement vertical console.log("Détection d'un glissement de doigt vertical !"); } } handleTouchMove.lastTouch = { x: touch.clientX, y: touch.clientY, time: now }; } // Fonction pour jouer un fichier audio function playAudio(src) { var audio = new Audio(src); audio.play(); } // Ajouter un gestionnaire d'événements pour les mouvements tactiles sur le plateau document.addEventListener('touchmove', handleTouchMove); // Ajouter un gestionnaire d'événements pour écouter les combinaisons de touches de raccourci pour paramétrer le son document.addEventListener('keydown', function(event) { if (event.ctrlKey && event.altKey && event.key === 's') { // Demander à l'utilisateur de saisir le lien vers le fichier audio var newAudioSrc = prompt("Entrez le lien vers le fichier audio : ", audioSrc); if (newAudioSrc && newAudioSrc.trim()) { audioSrc = newAudioSrc.trim(); console.log("Chemin du fichier audio mis à jour : " + audioSrc); } } }); })();