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

Administration système Discussion :

Interception de raccourcis clavier - daemon


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Lycéen
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut Interception de raccourcis clavier - daemon
    Salut à tous ,

    Je vous écris ici car je suis confronté à un problème et je pense que vous pouvez m'aider à avancer .

    Or donc je viens d'installer une Debian ( très sympa ), et je l'utilise presque uniquement en tant que terminal ( Ctrl + Alt + F1 au démarrage et basta ).

    Seulement voilà j'aime bien écouter de la musique quand je code. J'installe donc MPlayer, mais je me retrouve bien embêté car je ne peux le contrôler que si je vais sur le terminal sur lequel il est lancé ! Bon première solution GNU screen déjà, ça aide pas mal, puis ensuite slave mode de MPlayer donc, dans lequel on peut envoyer des commandes par un fichier FIFO.

    J'ai scripté un petit truc sympa, tout ce que j'ai à faire c'est me mettre dans n'importe quel terminal et lui dire "play ma_liste_de_musiques" ou "play previous". C'est pas mal déjà, mais je voudrais un ptit peu mieux !

    Est ce que quelqu'un pourrait me dire à quel niveau je devrais chercher pour réaliser un style de daemon qui réagirait à un code touche ( un peu comme xbindkeys mais sans X ^^ ) ? Ca m'amuserait pas mal de coder ça, mais je sais pas vraiment comment m'y prendre :p . A quel niveau je dois me placer pour que l'évènement "appuyé sur une touche" soit visible partout, dans le terminal et dans X ?

    Merci de votre attention !

  2. #2
    Membre éclairé
    Profil pro
    Lycéen
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bien, je me permet un petit up discret . Si vous ne savez pas, vous pourriez peut-être m'indiquer un autre endroit où l'on pourrait savoir ( si c'est pas trop demander ).

  3. #3
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    Problème très intéressant, je serai curieux d'en connaître la solution.

    Je pense que ce que tu cherche se rapproche pas mal d'un keylogger. Essaye peut-être de lire ceci https://www.dg-sc.org/phrack-fr/phra...r/p59-0x0e.txt
    Attention high-level, c'est du phrack.
    Dans tous les cas, je pense pas qu'on puisse échapper au module noyau. (ou pas)


    Edit : Regarde lkl, ça peut peut-être t'être utile.

  4. #4
    Membre éclairé
    Profil pro
    Lycéen
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Un grand merci à toi mon ami ! Je savais pas du tout par où m'y prendre ! Apparement l'article décris précisément ce que je cherche, c'est exactement ce qu'il me fallait . Je reviens mettre un [Résolu] et expliquer comment je m'y suis pris dès que j'aurais codé ce module noyau ( effectivement apparement j'y couperais pas, super, ça faisait un moment que je cherchais un truc à coder qui pourrait faire un module ! ). Encore merci et à la prochaine !

    PS : en plus c'est du Phrack, bonheur total :p !

  5. #5
    Membre éclairé
    Profil pro
    Lycéen
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bon j'ai réfléchi deux minutes et je me suis dit qu'un raccourci clavier bash ça pourrait le faire aussi à la limite. Mauvais plan. J'essaye de lier une action à un code touche en utilisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bind -x '"\\e[64~": "play next"'
    Avec \e[64~ mon code touche ( je le sais, j'ai modifié manuellement le keymap ^^ ) et "play next" mon gentil script, mais tout ce que je reçois c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bash: bind: \e[64~: play next: first non-whitespace character is not `"'
    Donc rien. J'ai aussi essayé de créer un fichier .inputrc, mais bind ignore complètement ce que je met dedans, sans même un message d'erreur ( je me fais snober par une fonction intégrée, j'ai la rage ). Si il y a des gens qui la connaissent un peu ici faites signe !

    Sinon plus inquiétant, quand je tente de faire un "read" et que j'appuie sur mes touches multimédia, une fois encore il me snobe. Avec "showkeys" j'ai un joli code touche, censément de même mon fichier keymap est modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    # /etc/console/boottime.kmap.gz
     
    [...]
     
    keycode 144 = F100
    # play/pause
    keycode 153 = F101
    # mute
    keycode 160 = F102
    # volume_down
    keycode 162 = F103
    # volume_up
    keycode 164 = F104
    # stop
    keycode 174 = F105
    # previous
    keycode 176 = F106
    # next
     
    [...]
     
    string F102 = "\033[60~"
    string F104 = "\033[61~"
    string F105 = "\033[62~"
    string F106 = "\033[63~"
    string F100 = "\033[64~"
    string F101 = "\033[65~"
    string F103 = "\033[66~"
     
    [...]
    Je devrais donc choper "^[[60~" quand j'appuie sur le bouton volume_down, etc ... Mais je n'ai rien. Si quelqu'un a une explication plausible ou un conseil, qu'il n'hésite pas !

    Je vais essayer encore un peu et sinon j'irais faire un tour du côté d'un module kernel ...

    PS : je me suis aidé de ce lien : http://articles.techrepublic.com.com...1-5683375.html

  6. #6
    Membre éclairé
    Profil pro
    Lycéen
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bon finalement après bidouille du kmap et usage de gentils "setkeycodes", j'arrive à avoir "Play-Pause" qui s'affiche en texte quand j'appuie sur la touche play-pause. A partir de là, me suis dit cool. C'est réglé, on ajoute un raccourcis bash à l'arrache et c'est bouclé. Mais il semblerait que s'aurait été un peu trop beau.

    En effet avec bash on peut bien créer des macros ( style je tape "Volume+" ( eh oui ), et ça m'affiche bien "essai réussi" ), ou utiliser les fonctions intégrées ( style avancer d'un caractère, vous me direz il y a déjà les flèches pour ça ^^ ). Mais dès que je veux ajouter ma propre fonction, problème. Et ça me va moyen. Parce qu'à se moment là il faudrait bidouiller aussi avec la GNU libreadline pour créer d'autres fonctions intégrées ( en C donc ). Du boulot quoi. Je suis prêt à me lancer mais limite encore une fois sil il y avait une solution plus simple ça serait assez cool dans l'idée.

    Donc nouvelle question : les raccourcis personnalisés sous bash, ça dit quelquechose à quelqu'un ? Une fois encore je tourne en rond .

    Merci de votre attention

Discussions similaires

  1. Interception des raccourcis clavier dans un champ de saisie
    Par estevea dans le forum IGN API Géoportail
    Réponses: 5
    Dernier message: 22/10/2011, 00h12
  2. Interception de raccourci clavier
    Par JolyLoic dans le forum Windows XP
    Réponses: 1
    Dernier message: 04/08/2006, 11h11
  3. Intercepter un raccourci clavier
    Par Benjy dans le forum C++Builder
    Réponses: 1
    Dernier message: 08/10/2005, 09h25
  4. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

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