IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Modifier la vitesse de deplacement de la souris, sur une div ?
Options
Firewire
posté 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
Go to the top of the page
 
+Quote Post
scoch
posté 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 wink.gif ).
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 confused5.gif 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
Go to the top of the page
 
+Quote Post
Nicosa
posté 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...
Citation (scoch @ 24 Feb 2012, 16:04) *
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
MacBook Pro 15"(mid2007) , Core2Duo 2.2GHz, 2x2Go de RAM, SSD Crucial M225 256Go, sous OSX 10.6.7 Snow Leopard [à vendre]
[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"
Go to the top of the page
 
+Quote Post
hubeert
posté 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)
Go to the top of the page
 
+Quote Post
corinne
posté 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 !
Go to the top of the page
 
+Quote Post
scoch
posté 25 Feb 2012, 17:00
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 826
Inscrit : 1 Jul 2010
Membre no 156 073



Citation (Nicosa @ 24 Feb 2012, 17:53) *
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...
Citation (scoch @ 24 Feb 2012, 16:04) *
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
Go to the top of the page
 
+Quote Post
lexa
posté 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



Citation (corinne35 @ 25 Feb 2012, 08:23) *
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. smile.gif


--------------------
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 Powerbook 15" 1.5 GHZ, 80 GO, 1 GO de ram...
un MacBook Blanc C2D, 2.1Ghz, 1Go de RAM...

Les Couleurs du Mexique sur FB - Les Couleurs du Mexique ont (enfin) leur site !
Go to the top of the page
 
+Quote Post
Firewire
posté 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
Go to the top of the page
 
+Quote Post
Nicosa
posté 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



Citation (scoch @ 25 Feb 2012, 17:00) *
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.
Citation (scoch @ 25 Feb 2012, 17:00) *
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
MacBook Pro 15"(mid2007) , Core2Duo 2.2GHz, 2x2Go de RAM, SSD Crucial M225 256Go, sous OSX 10.6.7 Snow Leopard [à vendre]
[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"
Go to the top of the page
 
+Quote Post
scoch
posté 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
Go to the top of the page
 
+Quote Post
Nicosa
posté 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



Citation (scoch @ 27 Feb 2012, 19:26) *
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
Sur ça on est d'accord, l'exemple le montre bien.

Citation (scoch @ 27 Feb 2012, 19:26) *
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);
        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);
Le curseur est 5x moins rapide, mais on ne peut atteindre que les 20% en haut à gauche de la fenêtre.
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);
        pos(c.rt, x, y);
        pos(c.rb, x, y);
        pos(c.lb, x, y);
Par :
Code
        var w = document.documentElement.clientWidth;
        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);
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.
(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
MacBook Pro 15"(mid2007) , Core2Duo 2.2GHz, 2x2Go de RAM, SSD Crucial M225 256Go, sous OSX 10.6.7 Snow Leopard [à vendre]
[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"
Go to the top of the page
 
+Quote Post
scoch
posté 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
Go to the top of the page
 
+Quote Post
Nicosa
posté 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



Citation (scoch @ 28 Feb 2012, 00:19) *
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
MacBook Pro 15"(mid2007) , Core2Duo 2.2GHz, 2x2Go de RAM, SSD Crucial M225 256Go, sous OSX 10.6.7 Snow Leopard [à vendre]
[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"
Go to the top of the page
 
+Quote Post
hubeert
posté 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 !! huh.gif


--------------------
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)
Go to the top of the page
 
+Quote Post
scoch
posté 28 Feb 2012, 11:01
Message #15


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 826
Inscrit : 1 Jul 2010
Membre no 156 073



Citation (hubeert @ 28 Feb 2012, 07:43) *
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 !! huh.gif

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
Go to the top of the page
 
+Quote Post
Nicosa
posté 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



Citation (hubeert @ 28 Feb 2012, 07:43) *
Il peut mettre un swf et le faire en flash.. et il y en a pour 2 s puisque le code est deja fait !! huh.gif
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
MacBook Pro 15"(mid2007) , Core2Duo 2.2GHz, 2x2Go de RAM, SSD Crucial M225 256Go, sous OSX 10.6.7 Snow Leopard [à vendre]
[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"
Go to the top of the page
 
+Quote Post
hubeert
posté 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. huh.gif


--------------------
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)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 02:41