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

Java Discussion :

Controle du clavier


Sujet :

Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 159
    Par défaut Controle du clavier
    Bonjour à tous

    Je cherche un code qui permet de controler le clavier et la souris (par exemple, mettre automatiquement une fenetre au premier plan ou simuler une pression sur la barre espace pour que vlc se mette en pause).

    Pourriez vous m'aider ou me rediriger vers des posts ou des tutos qui traitent de ce sujet svp ?
    Merci d'avance à ceux qui m'aideront


    Mad

    ps: je sais le faire en C si ça interesse quelqu'un ;-)

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Je suis pas sur d'avoir tout compris. c'est quoi vlc ??
    Les événement claver et souris se gère dans des applications java. vlc est une appli java ? ou bien tu cherches à prendre le control de ces périfériques sur le système d'exploitation ( dans tel cas, je doute que cela soit possible par la voie "normale" ) ?

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    salut,

    il faut utiliser la classe java.awt.Robot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try {
      Robot r = new Robot();
      r.keyPress(KeyEvent.VK_SPACE);
      r.keyRelease(KeyEvent.VK_SPACE);
      r.mousePress(InputEvent.BUTTON1_MASK);
      r.mouseRelease(InputEvent.BUTTON1_MASK);
    } catch (AWTException e) {
      e.printStackTrace();
    }
    vlc c'est un lecteur multimédia qui cartonne, particulièrement pour la lecture de fichiers vidéos

    cf. http://www.videolan.org/vlc/



  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 159
    Par défaut
    Salut, merci pour ce bout de code, ça m'a bien aidé.

    Il n'a pas marché du premier coup, j'ai du inclure la lib "java.awt.event.KeyEvent" en plus de "java.awt.Robot"
    (je sais pas pkoi ça a pas marché du premier coup d'ailleur, j'avais mis "java.awt.*", normalement j'aurais pas du avoir de problèmes... enfin bon)

    Si quelqu'un connais le code de la touche "Windows" ça m'interesse (en C on utilise VK_LWIN mais là elle a pas l'air d'être connue, et VK_HOME ça marche pas non plus)

    Dernière chose, est-ce que quelqu'un sait comment forcer virtuellement une application au premier plan, car les raccourics clavier ne fonctionnent que pour l'appliction active... (enfin vous me comprenez... ?)

    Voila
    Encore merci


    Mad

  5. #5
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Je peux te répondre pour le problème d'"import" c'est normal.
    Si tu veux importer toutes les classes d'un package avec le caractère '*', il faut savoir que java.awt et java.awt.event son deux packages différents.
    Pour que ça marche avec l'étoile '*', tu aurais du faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import java.awt.event.*;
    Pour ce qui est de la touche "windows" je doute que cela soit possible ( j'en suis pas sûr à 100% ) en effet, java étant multi-plateformes cela n'aurait pas de sens à mes yeux de la prendre en compte dans ce langage. Cette touche n'est qu'une particularité de windows, on ne la retrouve pas sur solaris ( OS de Sun ), HPUX etc...
    Je dis ça mais il est peut-être possible de la récupérer via un code particulier.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 159
    Par défaut
    Pour expliquer mon problème un peu mieux, je vais mettre l'équivalent du code en C (si on a pas le droit de mettre du code C sur le forum JAVA dites-le moi je le ferai plus c promis ^^)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <windows.h>
    #include <stdio.h>
    int main(int argc, char * argv[]) {
            // recupère "l'indicatif" du lecteur multimédia
         HWND hmplayer = FindWindow("Media Player",NULL);
            // le met au dessus des autres fenetres
         SetForegroundWindow(hmplayer);
            // simule une pression sur espace pour mettre la musique en pause
         PostMessage(hmplayer,WM_KEYDOWN,VK_SPACE,0); 
         return 0;
    }
    Voila, j'aimerai faire la même chose en JAVA

    Un pote m'a parlé de "thread" au téléphone mais il est resté assez vague.

    Toute indication est la bienvenue


    Mad

    Ps: je ne suis pas encore un habitué des forums de ce genre alors je voudrai savoir : est-ce que ça interesserait quelqu'un si je post la totalité de mon code quand le problème sera résolu ?

  7. #7
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 80
    Par défaut
    généralement il faut éviter de mettre du C dans le forum java mais comme on dit il ne faut jamais dire jamais

    sinon je serai interesse par ton code, alors diffuse le, ca peut aider et tant pis s'il y a des ronchons

  8. #8
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Bonjour,
    heu, je suis pas sur que java fasse ca, ca appelle du code natif et du coup on sort du framework...
    par contre une solution c'est JNI et appeler ton bout de code C a partir de ton code java.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 159
    Par défaut
    Oui en effet, j'ai choisis JNI c'est plus simple.
    Je post mon code dès que j'ai fini.

    Mad

  10. #10
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 80
    Par défaut
    Je m'en doutais, c'est pour cela qu'il aurait été interessant d'avoir un code en java pour ca. 8)

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

Discussions similaires

  1. client-server controler le clavier et la souris
    Par Manzarek dans le forum VB.NET
    Réponses: 0
    Dernier message: 28/12/2009, 11h13
  2. Controle Saisie clavier : entier
    Par nicodn02 dans le forum C
    Réponses: 4
    Dernier message: 21/01/2009, 15h37
  3. controle de la souris et du clavier par software
    Par jacko381 dans le forum Windows
    Réponses: 6
    Dernier message: 10/09/2008, 20h46
  4. Controle au clavier
    Par innosang dans le forum C++
    Réponses: 9
    Dernier message: 22/10/2007, 21h24
  5. Control du clavier
    Par carlg dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 08/03/2006, 09h56

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