Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [RESOLU] La souris se bloque lorsqu'on appuie sur une touche  (Lu 1735 fois)

0 Membres et 1 Invité sur ce sujet

texto15

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
[RESOLU] La souris se bloque lorsqu'on appuie sur une touche
« le: Janvier 07, 2020, 04:33:24 pm »
Bonjour à tous, je code depuis novembre en C++ et j'ai décidé d'utiliser SFML pour m'aider dans un projet scolaire. Pour faire simple, le but du code est de colorier avec la souris lorsque la touche Space est appuyée. Après un premier test concluant où pour dessiner il fallait dessiner appuyer sur le clic droit de la souris, j'ai simplement changer cet événement avec un KeyPressed comme dans le code ci dessous :

 
#include <SFML/Graphics.hpp>
#include <iostream>
#include "interface.h"
#include "toucher.h"
#include <vector>


#define R 5
using namespace std;
using namespace sf;


int main()
{

   int ligneX=400, ligneY=50, taille=0, x, y , Dessin = false;
   vector<point> tab_point;
   
   RenderWindow window(VideoMode(480,320), "SFML works!",Style::Fullscreen);
   window.clear();
   Grand_cercle(window);
   Position_ligne(ligneX, ligneY,window);
   
   point p1;
   
   while (window.isOpen())
   {
      Event event;
      while (window.pollEvent(event))
      {
         if (event.type == Event::Closed)
            {window.close();}
         
         
         if (event.type == Event::KeyPressed)
         {
            if (event.key.code == Keyboard::Space)
            {
               Dessin = true;
            }
         }
         
         if (event.type == Event::KeyReleased)
         {
            if (event.key.code == Keyboard::Space)
               Dessin = false ;
         }
         
         if (event.type == Event::KeyPressed)
         {
            if (event.key.code == Keyboard::Q)
            {
               window.close();
            }
         }
      }
      
      
      
      if (Dessin)
      {
         Position_Curseur(&x, &y, window);
         p1.x = x;
         p1.y = y;
         
         tab_point.push_back(p1);
         taille ++;
      }
      
      window.clear();
      Grand_cercle(window);
      Position_ligne(ligneX, ligneY,window);
      Dessine_point(x,y, window, R);
      Dessine_plus_points(tab_point, taille, window, R);
      window.display();
   }
 

Le problème maintenant est que lorsqu'on reste appuyer sur Space, la souris ne bouge plus dans la fenêtre, elle est bloquée.
J'ai essayé plusieurs autres options telle que l'utilisation de isKeyPressed mais rien ne remédie au problème.

Merci pour vos réponses
« Modifié: Janvier 10, 2020, 08:59:49 am par texto15 »

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re: La souris se bloque lorsqu'on appuie sur une touche
« Réponse #1 le: Janvier 07, 2020, 07:46:46 pm »
Je pense pas que ça vienne de SFML.
Si tu fais pareil ailleurs (sur le bureau, sur n'importe quelle fenêtre) est-ce que ça bloque ? Si oui et que c'est un ordinateur portable cherche comment désactiver le PalmCheck (controle de la paume) dans windows.

texto15

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re: La souris se bloque lorsqu'on appuie sur une touche
« Réponse #2 le: Janvier 10, 2020, 08:58:39 am »
Effectivement, en exécutant le code sur un autre ordi, le code marche bien, le blocage est du a l'ordinateur portable. Ilsuffit de brancher un autre clavier en USB pour contourner le problème. Je le renseigné pour désactiver la fonctionnalité. Merci