Modifier la vitesse de deplacement de la souris, sur une div ? |
Bienvenue invité ( Connexion | Inscription )
Modifier la vitesse de deplacement de la souris, sur une div ? |
24 Feb 2012, 15:04
Message
#1
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 364 Inscrit : 21 Mar 2007 Membre no 83 180 |
Bonjour,
Je voudrais que le pointeur de la souris soit plus lent ( un mouvement identique du mulot entraine une distance plus courte parcourue) sur une partie (div) d'une page web. Y-a-t-il des fonctions java ou html qui le font ? Merci ! -------------------- Mac mini 2018 + Akitio thunder 2 + rx 570
|
|
|
24 Feb 2012, 16:04
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 826 Inscrit : 1 Jul 2010 Membre no 156 073 |
C'est sûrement possible en JavaScript (et pas en java ).
La bidouille consisterait à cacher le curseur système et à en utiliser un personnalisé (une image en fait). A priori on pourrait cacher le curseur système avec css (cursor: none;) mais ce n'est pas supporté de la même manière par les navigateurs donc JavaScript. Regarde ce script, tu devrais y trouver un début de solution, il te suffirait de modifier les valeurs de x et y retournées par la méthode getMousePosition. Bonne chance ! Ce message a été modifié par scoch - 24 Feb 2012, 16:04. -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
|
|
|
24 Feb 2012, 17:53
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 3 026 Inscrit : 2 May 2007 Lieu : Région Parisienne (91) Membre no 85 838 |
Je pense que ce n'est pas possible.
Imagine la faille : Le javascript empeche ton curseur de bouger, tu ne peux plus quitter la fenetre... il te suffirait de modifier les valeurs de x et y retournées par la méthode getMousePosition. C'est une fonction getXxxx, et non une fonction setXxxx. Je pense qu'on ne peux pas forcer le deplacement du pointeur.Par contre, on peut peut-être faire bouger le div sous la souris pour "amoindrir" la vitesse relative du curseur par rapport au div. -------------------- Whoever fights monsters should see to it that in the process he does not become a monster; -------------------------------------------------------------------------------------------------------------------------------And when you look long into an abyss, the abyss also looks into you. - Friedrich Nietzsche -(issue de la préface de la novélisation "The Abyss" d'Orson Scott Card depuis le film eponyme) [refurb] MacBook Pro 13"(early2019) , QuadCore 2.7GHz, 16Go de RAM, 512Go, sous OSX 10.14 Mojave [refurb] MacMini Core2Duo 2.0GHz (early 2009), 1Go de RAM, DD 120Go 5400rpm, sous OSX 10.6.3 Snow Lepard + Mighty Mouse BT + Clavier BT "Alu" |
|
|
24 Feb 2012, 22:03
Message
#4
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
j'ai fait un truc comme ca en flash donc en action script. AS et JS se ressemblait bcp a l’époque donc j'imagine que ca doit ete possible en JS.. Je ; ne me souviens plus du principe; mais il faut se servir des coordonnées reelle de la souris, cacher celle ci et imputer a un perso la vitesse réelle de la souris divisé par 2 ou trois.. si je me souviens bien.. ralentir la souris -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
25 Feb 2012, 08:23
Message
#5
|
|
Macbidouilleuse Breizh ! Groupe : Membres Messages : 1 597 Inscrit : 17 Nov 2005 Lieu : Là où il ne pleut pas si souvent : en Bretagne (56) Membre no 50 106 |
Et dans préférences système => souris, il n'y a pas moyen ? il me semblait que c'était possible. (je n'ai pas de souris, mais un trackpad)
-------------------- La Culture coûte cher, mais l'inculture coûte encore plus cher à la Société. Marcel Landowsky Macbook Air M1 512 Go - Sonoma 14 à jour Macbook unibody (fin 2009) 10.11.6 El Capitan - 2.26ghz - 8Go- SSD 250Go - ipad mini 2 - 16 Go - IOs 12 à jour Je n'ai pas de télévision ! |
|
|
25 Feb 2012, 17:00
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 826 Inscrit : 1 Jul 2010 Membre no 156 073 |
Je pense que ce n'est pas possible. Imagine la faille : Le javascript empeche ton curseur de bouger, tu ne peux plus quitter la fenetre... il te suffirait de modifier les valeurs de x et y retournées par la méthode getMousePosition. C'est une fonction getXxxx, et non une fonction setXxxx. Je pense qu'on ne peux pas forcer le deplacement du pointeur.Bien sûr que c'est possible, le script que j'ai recommandé en est la preuve. La fonction getter renvoie la valeur utilisée dans la méthode move (qui positionne le faux curseur). -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
|
|
|
25 Feb 2012, 18:07
Message
#7
|
|
Lexamil man ! Groupe : Membres Messages : 1 909 Inscrit : 13 Apr 2005 Lieu : Troyes ... dans l'Aube ! Membre no 37 032 |
Et dans préférences système => souris, il n'y a pas moyen ? il me semblait que c'était possible. (je n'ai pas de souris, mais un trackpad) Non Corrine, il parle d'une div c'est a dire dans un morceau de site web, sur le mac effectivement on peut régler ça. -------------------- All of old, nothing else ever, ever tried, ever failed, no matter, try again, fail again, fail better". S.Beckett
If You Help Someone Else, You Help Yourself!.... think about it... Heureux qui comme Ulysse a fait un long voyage! un MacBook Blanc C2D, 2.1Ghz, 1Go de RAM... Les Couleurs du Mexique sur FB - Les Couleurs du Mexique ont (enfin) leur site ! |
|
|
27 Feb 2012, 13:39
Message
#8
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 364 Inscrit : 21 Mar 2007 Membre no 83 180 |
Merci à tous, je vais regarder ça de près...
-------------------- Mac mini 2018 + Akitio thunder 2 + rx 570
|
|
|
27 Feb 2012, 16:29
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 3 026 Inscrit : 2 May 2007 Lieu : Région Parisienne (91) Membre no 85 838 |
Bien sûr que c'est possible, le script que j'ai recommandé en est la preuve. Euh, j'ai pas du bien voir, mais ce que tu as donné en exemple ne modifie pas la vitesse de mon pointeur, mais juste son aspect.La fonction getter renvoie la valeur utilisée dans la méthode move (qui positionne le faux curseur). Oui, le faux curseur... le vrai curseur, n'est donc pas "ralenti".Mais peut-être que cela réponds à la demande initiale. -------------------- Whoever fights monsters should see to it that in the process he does not become a monster; -------------------------------------------------------------------------------------------------------------------------------And when you look long into an abyss, the abyss also looks into you. - Friedrich Nietzsche -(issue de la préface de la novélisation "The Abyss" d'Orson Scott Card depuis le film eponyme) [refurb] MacBook Pro 13"(early2019) , QuadCore 2.7GHz, 16Go de RAM, 512Go, sous OSX 10.14 Mojave [refurb] MacMini Core2Duo 2.0GHz (early 2009), 1Go de RAM, DD 120Go 5400rpm, sous OSX 10.6.3 Snow Lepard + Mighty Mouse BT + Clavier BT "Alu" |
|
|
27 Feb 2012, 19:26
Message
#10
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 826 Inscrit : 1 Jul 2010 Membre no 156 073 |
On s'est mal compris.
Ce que je disais : « La bidouille consisterait à cacher le curseur système et à en utiliser un personnalisé (une image en fait). » est tout à fait possible. Je viens de le faire et ça fonctionne sur Safari, Firefox Mac et PC, Chrome Mac et PC, IE9 : Exemple (Télécharger) Resterait plus qu'a le ralentir. Ce message a été modifié par scoch - 27 Feb 2012, 19:28. -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
|
|
|
27 Feb 2012, 22:37
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 3 026 Inscrit : 2 May 2007 Lieu : Région Parisienne (91) Membre no 85 838 |
On s'est mal compris. Sur ça on est d'accord, l'exemple le montre bien.Ce que je disais : « La bidouille consisterait à cacher le curseur système et à en utiliser un personnalisé (une image en fait). » est tout à fait possible. Je viens de le faire et ça fonctionne sur Safari, Firefox Mac et PC, Chrome Mac et PC, IE9 Resterait plus qu'a le ralentir. C'est faisable en se tapant un peu de math dans le code, mais reste plusieurs problèmes :- Le clic de souris ne se fera pas là où se trouve le curseur affiché (le "faux"), mais là où se trouve le curseur réel (qui est rendu invisible par le code). Du coup, les interactions seront fortement limité. (d'où ma proposition de déplacer l'element sous le curseur réel pour simuler une vitesse relative moindre) - si le curseur est "linéairement" ralentis (vitesse du curseur affiché = 50% de la vitesse du curseur réel), certaines zone de la page ne seront pas accessibles. Lorsque le curseur réel aura parcouru toute la page, le curseur affiché n'aura atteins que la moitié de la page. Juste pour s'en rendre compte, on peut modifier le code comme suit : Code pos(c.lt, 0.2*x, 0.2*y); Le curseur est 5x moins rapide, mais on ne peut atteindre que les 20% en haut à gauche de la fenêtre.pos(c.rt, 0.2*x, 0.2*y); pos(c.rb, 0.2*x, 0.2*y); pos(c.lb, 0.2*x, 0.2*y); Du coup, il faut mettre en place des fonctions plus complexes pour que, par exemple, le curseur soit lent sur les bords de la fenêtre, et plus rapide vers le centre pour que sur une traversée complète de fenêtre, les 2 curseurs (le réel et l'affiché) se rejoigne à la fin de la fenêtre. Reste que même avec ça, il va être très très difficile de mettre en place le ralentissement centré sur différents points de la fenêtre, et qu'on aura quand même le problème du clic affiché qui se fait en réalité là où se trouve le curseur réel. ------------------------------------------------------- [edit] un petit test en écrivant une transformation pas trop compliquée. Le centre de la page "ralentis" le curseur. Remplacer : Code pos(c.lt, x, y); Par :pos(c.rt, x, y); pos(c.rb, x, y); pos(c.lb, x, y); Code var w = document.documentElement.clientWidth; Il reste un max de boulot pour limiter les effets de bord, le rendre "comprehensible" par l'utilisateur, et surtout, réussir à le faire sur plusieurs points de la page.var h = document.documentElement.clientHeight; var cX = (x-w/2); var cY = (y-h/2); var r = Math.sqrt(cX*cX + cY*cY); var t = 0.5*Math.sqrt(w*w + h*h); var d = Math.atan2(cY,cX); var newX = w/2 + t*Math.pow(r/t,3)*Math.cos(d); var newY = h/2 + t*Math.pow(r/t,3)*Math.sin(d); pos(c.lt, newX, newY); pos(c.rt, newX, newY); pos(c.rb, newX, newY); pos(c.lb, newX, newY); (Et il y a toujours le problème du clic...) Ce message a été modifié par Nicosa - 28 Feb 2012, 00:44. -------------------- Whoever fights monsters should see to it that in the process he does not become a monster; -------------------------------------------------------------------------------------------------------------------------------And when you look long into an abyss, the abyss also looks into you. - Friedrich Nietzsche -(issue de la préface de la novélisation "The Abyss" d'Orson Scott Card depuis le film eponyme) [refurb] MacBook Pro 13"(early2019) , QuadCore 2.7GHz, 16Go de RAM, 512Go, sous OSX 10.14 Mojave [refurb] MacMini Core2Duo 2.0GHz (early 2009), 1Go de RAM, DD 120Go 5400rpm, sous OSX 10.6.3 Snow Lepard + Mighty Mouse BT + Clavier BT "Alu" |
|
|
28 Feb 2012, 00:19
Message
#12
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 826 Inscrit : 1 Jul 2010 Membre no 156 073 |
Tu as raison.
Plutôt que de ralentir strictement le faux curseur il faudrait mettre de l'inertie dans son mouvement, qu'il parcourt bien la distance mais selon une certaine courbe d'accélération. -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
|
|
|
28 Feb 2012, 00:46
Message
#13
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 3 026 Inscrit : 2 May 2007 Lieu : Région Parisienne (91) Membre no 85 838 |
Plutôt que de ralentir strictement le faux curseur il faudrait mettre de l'inertie dans son mouvement, qu'il parcourt bien la distance mais selon une certaine courbe d'accélération. Entre temps, j'ai édité mon précédent message en y ajoutant un bout de code que tu peux tester.Mais on est quand même très loin d'une solution. -------------------- Whoever fights monsters should see to it that in the process he does not become a monster; -------------------------------------------------------------------------------------------------------------------------------And when you look long into an abyss, the abyss also looks into you. - Friedrich Nietzsche -(issue de la préface de la novélisation "The Abyss" d'Orson Scott Card depuis le film eponyme) [refurb] MacBook Pro 13"(early2019) , QuadCore 2.7GHz, 16Go de RAM, 512Go, sous OSX 10.14 Mojave [refurb] MacMini Core2Duo 2.0GHz (early 2009), 1Go de RAM, DD 120Go 5400rpm, sous OSX 10.6.3 Snow Lepard + Mighty Mouse BT + Clavier BT "Alu" |
|
|
28 Feb 2012, 07:43
Message
#14
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
Il peut mettre un swf et le faire en flash.. et il y en a pour 2 s puisque le code est deja fait !! -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
28 Feb 2012, 11:01
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 826 Inscrit : 1 Jul 2010 Membre no 156 073 |
coucou; Il peut mettre un swf et le faire en flash.. et il y en a pour 2 s puisque le code est deja fait !! Effectivement en Flash c'est bien plus simple et cela exclue juste les mobiles pour lesquels de toute façon ce script n'a pas de sens puisque pas de curseur. @Nicosa je testerai ton code ce soir -------------------- L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
|
|
|
28 Feb 2012, 11:42
Message
#16
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 3 026 Inscrit : 2 May 2007 Lieu : Région Parisienne (91) Membre no 85 838 |
Il peut mettre un swf et le faire en flash.. et il y en a pour 2 s puisque le code est deja fait !! Mais le clic se fera là où se trouve le vrai curseur, ou bien là où se trouve le curseur affiché ?...De mon point de vue, il faudrait s'intéresser à ce qui motive cette demande. Si c'est, comme je le soupçonne, pour avoir plus de précision sur une zone, il serait peut-être plus simple de prévoir un "zoom" sur certaines zones. -------------------- Whoever fights monsters should see to it that in the process he does not become a monster; -------------------------------------------------------------------------------------------------------------------------------And when you look long into an abyss, the abyss also looks into you. - Friedrich Nietzsche -(issue de la préface de la novélisation "The Abyss" d'Orson Scott Card depuis le film eponyme) [refurb] MacBook Pro 13"(early2019) , QuadCore 2.7GHz, 16Go de RAM, 512Go, sous OSX 10.14 Mojave [refurb] MacMini Core2Duo 2.0GHz (early 2009), 1Go de RAM, DD 120Go 5400rpm, sous OSX 10.6.3 Snow Lepard + Mighty Mouse BT + Clavier BT "Alu" |
|
|
28 Feb 2012, 21:29
Message
#17
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 951 Inscrit : 19 May 2005 Lieu : Chateauneuf du pape Membre no 39 495 |
coucou;
de toute façon le demandeur n'intervient pas donc on saura jamais ce qu'il desire et pourquoi faire ? . dans mon code j'ai pas fait intervenir le clic..Mais bon c'est pas un problème. En réalité jai fait ca mais je vois pas trop a quoi ca peut servir en vrai. -------------------- Musique techno avec MAO (Logic Pro)
des que quelqu'un a du pouvoir il croit détenir la vérité... Des que quelqu'un a un clavier il A la la vérité.(Forcément) |
|
|
Nous sommes le : 25th April 2024 - 02:41 |