IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Gestion du TouchPad Synaptics en Absolu.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Par défaut Gestion du TouchPad Synaptics en Absolu.
    Bonjour,
    Est ce que quelqu'un aurait déjà réfléchi sur la facon de gérer le touchpad en absolu (à la manière d'un écran tactile).
    Je n'arrive pas à le faire, je suis de l'impasse de la gestion sous forme de souris.
    Ce que je cherche à trouver est une fonction CSharp, voir XNA,. qui me renverrait un tableau de coordonnées indiquant quels sont les points du touchpad qui sont appuyés (pareil pour un ecran).
    merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    il faut regarder du coté de GetRawInputData (win32)

    Il existe des wrapper et des exemples sur le net (en C# sur Code sources)
    mais malheureusement, l'exemple permet de gérer 2 souris en meme temps mais ne fournit pas l'information de la position de l'appui du doigt sur le touchpad.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    J'ai réussi à faire fonctionner la fonction GetRawInputData (avec gestion de l'event WM_INPUT), par contre, il semblerait que l'information donnant la position absolue du touchPad ne soit pas fournie. Il faut peut-etre regarder du coté de DirectInput comme j'ai pu le voir (mais c'était du code C++, du peux regarder du coté de SlimDX wrapper DirectX en C# pour "traduire" l'exemple) que j'avais trouvé (recherche Touchpad absolu DirectInput et tu trouveras de suite))...

    Sinon, je ne vois pas bcp d'autres solutions en dehors d'attaquer directement le driver du TouchPad et encore, je ne suis pas sur que l'information soit disponible !!!

    [EDIT]
    Sur le site de synaptics.com on trouve un SDK avec du code en C++
    (non managé)... ca peut donner des idées dans la mesure ou il y a une
    librairie fournie qui expose des objets COM.. Donc, on doit pouvoir faire des choses mais bon, c'est du COM et les méthodes exposées sont pas "complètement" simple d'accès

    Mais je pense que c'est une des seules possibilités que tu trouveras !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Par défaut
    Merci!!!
    Oui pour GetRawInput j'avais regardé avant de poster le message, j'etais tombé sur le programme "multimousse", mais le touchpad est filtré apperemment en Rawdevice comme souris... pas réussi à exploiter.
    Merci pour les autres idée, je vais explorer cette voie.
    Déjà je vais faire profiter d'une partie du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dipdw.dwData = DIPROPAXISMODE_ABS;
               dipdw.diph.dwHow = DIPH_DEVICE;
               hr = g_pMouse->SetProperty( DIPROP_AXISMODE, &dipdw.diph); 
               g_pMouse->Acquire();

    Je voudrais en fait simuler un touchscreen sans en avoir un!
    (en fait le touchpad serait le touchscreen)...

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    J'avais bien compris la finalité de ton truc

    Pour info, dans le SDK Synaptics (evidemment, il te faut un touchpad synaptics mais le sdk doit existe pour les autres fabricants), tu as un exemple en C++
    (facilement selon moi wrappable en C# si besoin) qui affiche la valeur appuyé par l'utilisateur sur le touchPad... ce qui prouve bien qu'avec ce SDK en tout cas, tu es en mesure de fournir la fonctionnalité souhaitée

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 155
    Par défaut Le TouchPad n'est pas multitouch...
    merci
    Il est bien synaptic...
    En fait l'autre raison pour laquelle je voulais acceder en absolu est que je me disais qu'il y avait moyen de programmer le multitouch...
    Mais en fait , sur mon Toshiba le touchpad semble ne pas être multitouch!
    Ca me parait bizarre de ne pas pouvoir le faire, vu que finalement le doigt fait une moyenne d'appuis, mais apperemment je ne peux rien faire en multitouch.
    Je me posais la question de savoir si l'on pouvait recupérer cette info en mémoire du genre MouseProviderIsMultitouch?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Développement jeux vidéo : quelles bases à avoir absolument ?
    Par Ezechiel dans le forum Développement 2D, 3D et Jeux
    Réponses: 175
    Dernier message: 20/02/2018, 17h14
  2. Réponses: 2
    Dernier message: 31/08/2002, 22h37
  3. Réponses: 4
    Dernier message: 04/07/2002, 13h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 15h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo