Le ghosting, késako ?
Posté le 25/04/2018 11:37
Un bug assez connu sur nos calculatrices est celui qui fait que la touche Alpha apparait comme active lorsque Shift et deux directions du pavé sont pressées. Exemple flagrant dans
Gravity Duck.
De manière plus générale,
ce bug se produit dès lors que trois touches formant un début de rectangle sont pressées en même temps. La réaction est l'apparition d'une 4ème touche "fantôme" vue par la calculatrice comme active, dans le dernier coin du rectangle, alors qu'elle n'est pas pressée.
Ce coté "fantôme" est ce qui donne son nom au bug, en anglais : on parle de
ghosting.
Pourquoi du ghosting ?
Physiquement chaque touche est un interrupteur qui laisse passer un signal électrique lorsque qu'elle est enfoncée. Ces interrupteurs sont reliés au processeur, qui lit les signaux pour détecter quelles touches sont actives ou non.
En pratique, on ne peut pas mettre deux connecteurs pour chaque bouton sur le CPU. Ça ferait beaucoup trop d'entrées/sorties. Donc ce que l'on fait, c'est qu'on les organise en matrice.
Le CPU s'occupe d'envoyer un signal sur chaque ligne (ROW) une par une. À chaque fois, il regarde quelle colone (COL) reçoit le signal. En croisant les informations ROW/COL, on est capable de savoir quelle touche est pressée.
Cas le plus simple, une seule touche enfoncée. Le CPU envoie un signal (en vert) ROW 4, lis les différentes colonnes, et voit un retour sur la COL 3. ROW 4/COL 3 → c'est la touche DEL (ici en rouge).
Il se peut que le CPU, envoyant toujours un signal ROW 4, reçoive un signal sur deux colonnes différentes. On a donc deux touches actives : ROW 4/COL 3 qui correspond à DEL et ROW 4/COL 5 qui correspond au 8.
Maintenant si encore plus de touches sont pressées en même temps, le signal électrique peut se propager d'une colonne à une autre. Ici la touche 8 n'est pas enfoncée, mais le signal traverse la touche PLUS, passe par la touche 2, et active la COL 5. Ce signal non souhaité est affiché en bleu sur le schéma. Dans ce cas, le CPU voir toujours deux couples : ROW 4/COL 3 et ROW 4/COL 5. Puisque ce sont les seules informations dont il dispose, il en déduit que les touches DEL et 8 sont activées, comme dans le cas précédent. La touche 8 subit le ghosting.
Comment l'éviter ?
Malheureusement c'est un problème physique, donc qui n'est pas corrigeable logiciellement. Dans les claviers de PC on empêche ce problème en mettant des diodes entre chaque touche pour empêcher la propagation inverse du signal. Mais ça apporte d'autres problèmes en plus d'être cher…
Sur nos calculatrices, la solution consiste donc à ne pas utiliser de touches qui peuvent former un rectangle sur le schéma présenté.
Si au lieu d'utiliser le pavé directionnel, Shift et Alpha j'utilise le pavé directionnel et les touches F1/F2, je ne peux plus avoir cette configuration en rectangle → plus de problème de ghosting. L'inconvénient de cette méthode étant une disposition des touches moins ergonomique.
Bref, il n'existe pas de solution magique, mais au moins vous savez ce qu'est le ghosting et pourquoi il se produit
Pour aller plus loin
Lephe explique plus en détail le fonctionnement du clavier dans ce post :
https://www.planet-casio.com/Fr/forums/topic17211-1-demande-dexplications-claires-et-simples-de-ce-que-je-dois-retourner-quand-on-lit-le-port-m-sur-sh4.html#189761
Citer : Posté le 25/04/2018 12:30 | #
Sympa la vidéo.
J'avais également ce problème dans Mipjabok où Alpha affichait la map, si un joueur sautait avec shift et haut à la fois, et bougeait sur un côté, la map s'affichait. Mais je n'ai constaté le problème que sur Graph 35++, pas sur ma Graph 85 SD.
matériel différent?
Citer : Posté le 25/04/2018 18:58 | #
D'où ce topic est affiché ? oO
Je l'ai publié en décalé pour avoir le temps de le rédiger
Bizarre, c'est ce que disait Lephe : suivant les cas ça peut varier…
Citer : Posté le 25/04/2018 21:16 | #
J'ai constaté le problème sur diverses Graph 35+, et il me semble aussi sur la Graph 75+. Je vous en dirai plus quand j'aurai des infos pour ajouter, si tu le veux bien Darks, une section sur les effets particuliers sur les calculatrice. Cela inclut la Graph 90.
Citer : Posté le 25/04/2018 21:17 | #
Je veux bien, oui, ça me fera préciser l'article. Enfin…
Ajouté le 10/09/2018 à 09:57 :
Note à moi-même : finir ce topic…
Citer : Posté le 10/09/2018 17:21 | #
Ah puis je passe mon temps à appeler à shadowing aussi. Il faut que j'apprenne le bon terme >_<
Note à toi-même : finis ce topic. (+ notif' dans la boîte de réception)
Citer : Posté le 10/09/2018 18:15 | #
Le Shadowing j'aurais du pendre ça comme pseudo !!
C'est une super idée de faire un petit topic dessus : on pourra répondre aux personnes qui nous pose des questions dessus maintenant
Citer : Posté le 18/02/2019 23:08 | #
Note à moi-même : finir ce foutu topic… --'
Citer : Posté le 16/11/2022 12:28 | #
Eh, mieux vaut tard que jamais
Si vous avez des remarques pour améliorer ça, hésitez pas. J'ai tenté d'être le plus clair et concis possible, c'est pas toujours évident.
Citer : Posté le 16/11/2022 15:07 | #
C'est très bien écrit et expliqué DS.
Merci beaucoup.
J'ai dû faire face à un problème de Ghosting dans Outrun et j'ai donc dû implémenter plusieurs touches pour la même action histoire d'offrir une alternative.
Citer : Posté le 19/11/2022 10:55 | #
C'était intéressant, Merci Dark Storm
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<