• [^] # Re: hotkeys

    Posté par . En réponse au message Xmodmap. Évalué à 4.

    Alors en fait j'ai "trouvé" tout seul mais bon ça pourra peut-être intéresser du monde !

    Si sur votre clavier Multimedia certaines touches ne sont pas reconnues par le système :

    0. Vérifications :
    Dans /etc/X11/xorg.conf, avez vous bien mis votre clavier ?
    Liste des claviers : /etc/X11/xkb/symbols/inet ( pas très lisible mais bon )
    En cas de doute ré-exécuter xorgconfig

    1. En tant que root faire un
    tail -f /var/log/messages
    => ça permet de voir le keycode console de la touche à mapper

    2. Dans un super fichier qui se lance au démarrage ( style /etc/rc.local ) définir à la main ces touches :
    setkeycodes <keycode console> <n° de commande>
    le n° de commande se trouve dans le super fichier hyper commenté :-) /usr/include/linux/input.h ( vous allez être impressionné ! )

    3. Quand toutes les touches qui ne fonctionnaient pas sont "setkeycodées" ( du verbe setkeycoder du premier group ;-) ), relancer la machine ou alors réexécuter le fichier /etc/rc.local )

    4. Vérifier avec xev que toutes les touches multimedia de votre clavier fonctionnent et notés le nouveau keycode ( !!! Oui alors bon pas de mauvais esprit, ils auraient pu faire pire en faisant des keycode différents pour chaque pays et chaque environnements ... :-D )

    On doit avoir quelque chose comme :
    KeyRelease event, serial 30, synthetic NO, window 0x2e00001,
    root 0x114, subw 0x0, time 1841338, (-973,-666), root:(1725,176),
    state 0x10, keycode 199 (keysym 0x1008ff8e, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:

    Je vous conseille à partir de là de faire un joli tableau :
    Nom de la touche | keycode X | Action à associer à cette touche

    5.Création du fichier de mappage
    xmodmap -pke > .Xmodmap
    et pour que ça fonctionne on le charge
    xmodmap ~/.Xmodmap

    6.Modification de ce fichier
    A l'aide d'un autre fichier ultra-commenté : /usr/X11R6/lib/X11/XKeysymDB , vous allez pouvoir remplir la colonne "Action à associer à cette touche" et modifier en conséquence votre fichier .Xmodmap qui se trouve dans votre répertoire home.
    Exemple :
    ...
    keycode 199 = XF86Messenger
    ...

    7.Vérification
    On recharge le nouveau mappage : xmodmap ~/.Xmodmap
    On relance xev et en appuyant sur les touches on doit avoir :
    ( en reprenant l'exemple ci-dessus )
    KeyRelease event, serial 30, synthetic NO, window 0x2e00001,
    root 0x114, subw 0x0, time 1841338, (-973,-666), root:(1725,176),
    state 0x10, keycode 199 (keysym 0x1008ff8e, XF86Messenger), same_screen YES,
    XLookupString gives 0 bytes:
    Noter : XF86Messenger <=> c'est "gagné" ( pour cette touche ;-) )

    8. Automatisation du lancement :
    Si vous êtes sous KDE, il "suffit" de créer un fichier dans le répertoire .kde/Autostart/ et de le rendre exécutable.
    Ce fichier contiendra :

    #!/bin/sh
    xmodmap ~/.Xmodmap

    Bien maintenant il ne reste pluis qu'à associer des actions / programmes à ces touches !
    Dans KDE, il faut aller dans le Centre de Controle de KDE, Régionalisation & Accessibilité, Dans disposition du clavier, Cocher "Activer les disposition de clavier", puis choisissez votre clavier ( celui défini dans /etc/X11/xorg.conf )
    Puis dans Khotkeys déclarez de nouvelles actions associées à ces touches

    Si vous ne savez pas quelle commande utiliser pour lancer tel ou tel programme utilisez l'éditeur de menu K pour trouver la commande à associer.
    Sinon regardez sur google pour des commandes dcop ( Sous KDE seulement )

    Voilà c'était pas si compliqué franchement ;-)
    Ha on me dit que sous windows il suffit d'installer iTouch et que ça fonctionne tout seul, il y'a même une interface pour associer une action à un bouton la première fois qu'on l'utilise !!!
    Oui mais bon y'a des drivers sous windows ! Et quel plaisir de pouvoir mettre les mains dans le camboui pour un résultat pareil !!!
    Il existe des solutions "graphiques" comme klineakconfig pour ceux qui veulent mais il faut que les touches existent ...

    Quelques liens :
    http://kadreg.free.fr/cla/
    http://shift.free.fr/?item=ordi_clavier_logitech
    http://www.trustonme.net/didactels/254.html

    Bonne chance !!