Journal Question xmodmap

Posté par  .
Étiquettes :
0
4
jan.
2004
Bonjour,

Alors voila, j'ai investi dans un clavier multimédia avec tout plein de touches qui permettent de faire plein de belles choses (c'est un Logitech Internet Navigator SE).
J'ai déja fait fonctionné les trucs classiques avec lineak (VolUp, VolDown, Mute, xmms, etc...) mais y'a quelques trucs plus subtils qui me tentent bien.

En fait j'ai une molette sur le côté du clavier, et j'aimerais bien pouvoir faire un coller sous X en appuyant dessus (comme la molette de la souris en fait), et donc je voudrais utiliser xmodmap pour affecter le keycode qui correspond à Shift+Inser.
Mais voila je sais pas comment faire ca.
ca doit ressembler à :
keycode xx = ???
mais je sais pas quoi mettre à la place des ??? pour ca.

J'ai potassé la page de man de xmodmap mais ils parlent pas de ce genre de trucs, et google m'a pas vraiment aidé, donc si quelqu'un s'était déja posé la question et avait trouvé une réponse, ce serait cool :-)
  • # Re: Question xmodmap

    Posté par  . Évalué à 2.

    • [^] # Re: Question xmodmap

      Posté par  . Évalué à 3.

      J'oubliais, ma super difficile et complexe demande à google fut : "clavier logitech sous linux"

      :)

      M
    • [^] # Re: Question xmodmap

      Posté par  . Évalué à 1.

      Oui j'avais déja trouvé ca, mais si tu regardes ce qu'ils racontent ils répondent pas à ma question.
      Ils affectent des noms de touches à des keycodes, mais moi ce que je veux c'est affecter à un keycode une combinaison de touches.
      • [^] # Re: Question xmodmap

        Posté par  . Évalué à 1.

        • [^] # Re: Question xmodmap

          Posté par  . Évalué à 2.

          Non, je trouve toujours pas ce que je cherche dans cette page.
          Je vais ré-expliquer parceque j'ai pas l'impression que tu ais compris ce que j'essaye de faire.
          Je veux, quand j'appuie sur une touche donnée de mon clavier (dont je connais le keycode), simuler l'appui sur Shift+Insert (donc une combinaison de touches).
          xmodmap me permet de faire quelque chose dans le style :
          keycode 65 = e E
          qui indique que quand j'appuie la touche de keycode 65, ca génère un e, et quand je fais Shift + 'la touche de keycode 65' ca génère un E.
          moi ce que je veux c'est :
          keycode 65 = Shift+Insert
          mais je ne trouve pas la syntaxe pour faire comprendre ca à xmodmap, et aucune des pages citées jusqu'à maintenant, et aucune autre que j'ai trouvées, ne donne la réponse.
          • [^] # Re: Question xmodmap

            Posté par  . Évalué à 2.

            Tu as regardé du côté de xbindkeys ?
            • [^] # Re: Question xmodmap

              Posté par  . Évalué à 1.

              Oui mais j'ai l'impression que c'est le même problème : on exécute un script lors de l'appui d'une combinaison de touches, mais ca n'a pas l'air de simuler une combinaison de touches à l'appui d'une autre touche.
              Donc à moins qu'on puisse simuler un Shift+Insert à l'aide d'un script ca a pas l'air de marcher.
  • # Re: Question xmodmap

    Posté par  . Évalué à 1.

    Les claviers Sun ont des touches Copier et Coller, donc essaye de voir comment ils font (un coup de "sun keyboard paste xmodmap" dans google donne des résultats maintenant je ne sais pas si ça correspond exactement à ce que tu cherches)
    • [^] # Re: Question xmodmap

      Posté par  . Évalué à 1.

      Effectivement, on peut simuler des touches Sun avec xmodmap (par exemple Paste c'est en fait F18), mais manifestement Linux ne gère pas les fonctions de ces touches : ca ne fait pas de 'coller', par contre ca marcherait sur un Solaris.

      Donc ca se rapproche mais c'est toujours pas ca... :-(
  • # Re: Question xmodmap

    Posté par  . Évalué à 1.

    Ayest j'ai trouvé!

    En fait j'ai trouvé un petit programme qui s'appelle mvmouse qui permet de bouger la souris où on veut sur l'écran en simulant éventuellement un appui de bouton de la souris.
    La commande : mvmouse +0 +0 2 1>/dev/null 2>&1
    permet de simuler uniquement un appui sur le bouton du milieu, et donc de faire un coller (les valeurs signées indiquent un déplacement relatif de la position de la souris, et le 2 est l'index du bouton à presser)
    Donc ensuite il suffit de dire à lineak (ou hotkeys, ou xbindkeys, ou autre) de lancer cette commande à l'appui du bon keycode.
    • [^] # Re: Question xmodmap

      Posté par  . Évalué à 1.

      donc si je comprends bien il faut que le curseur de la souris soit à l'endroit ou tu veux coller...
      donc faut bouger la souris
      donc faut avoir la main sur la souris
      donc tu peux aussi appuyer sur la molette de la souris (au lieu de t'embéter à appuyer sur celle du clavier)
      donc tu ne dois pas avoir de molette sur ta souris (sinon t'es tordu comme gars)

      et que dirais-tu d'acheter une souris à molette ?
      c'est pas très cher (moins que le clavier j'imagine), ça t'éviterait de te prendre la tête, et en plus ça irait bien avec ton clavier hightech
      • [^] # Re: Question xmodmap

        Posté par  . Évalué à 1.

        non, y'a pas besoin de bouger la souris car le but c'est de faire des copier-coller entre un mozilla et un xterm (par exemple) qui sont maximisés sur des bureaux virtuels différents, et donc au changement de bureau virtuel la souris sera au dessus de l'xterm, et donc le coller se fera bien.

        sinon j'ai déja une molette sur la souris, mais 1) j'aime bien me prendre la tête
        2) ca peut être utile de temps en temps
        3) c'était aussi un prétexte pour comprendre comment marche tous ces trucs

        Je t'accorde que c'est pas extrèmement utile en l'état, ce serait beaucoup mieux de pouvoir effectivement générer des combinaisons de touches, mais ca j'ai pas encore trouvé.
        Si tu as une solution je suis preneur, d'autant que ca me servirait aussi pour d'autres trucs (navigation au clavier dans mozilla sans combinaisons de touche par exemple)
  • # Re: Question xmodmap

    Posté par  . Évalué à 1.

    La page man de xmodmap parle de ce genre de truc : la combinaison de touche correspond au modifier :

    keycode NUMBER = KEYSYMNAME ...
    The list of keysyms is assigned to the indicated keycode (which may be specified in decimal, hex or
    octal and can be determined by running the xev program. Up to eight keysyms may be attached to a key,
    however the last four are not used in any major X server implementation. The first keysym is used
    when no modifier key is pressed in conjunction with this key, the second with Shift, the third when
    the Mode_Switch key is used with this key and the fourth when both the Mode_Switch and Shift keys are
    used.

    Donc il te faut un keycode xx = yy zz ... où xx est le keycode de ta touche, et zz est le keysym de [Insert].

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.