Forum Linux.débutant un xmodmap contextuel

Posté par  (site web personnel) .
Étiquettes : aucune
0
6
oct.
2004
xmodmap est très bien pour remapper tout
le seul hic, c'est qu'il remappe tout X !(les modifications sont faites partout)

donc, si je veux faire un script spécial, pour remapper juste qques touches dans le cadre d'une appli spéciale :

- je dois sauvegarder les règles actuelles
- faire le xmodmap pour remapper
- lancer l'appli
- rétablir les règles xmodmap d'avant

C'est pas très pratique, et ça créé des problèmes (je perds les fct de mon clavier multimedia, toutes les applis sont touchés, etc ...)

n'existe-t-il pas un "xmodmap-like" qui permet de mettre des règles juste dans le shell en cours d'execution ? (ainsi, je ne serais pas obligé de faire les manips : sauver config xmodmap et rétablir la config)
  • # So tu utilisais un environnement décent ...

    Posté par  (site web personnel) . Évalué à 2.

    comme sawfish par exemple, tu pourrais remapper des touches pour certaines applis :

    ;; lets rewrite key events before they're sent to apps
    (define-match-window-setter 'keymap-trans
    (lambda (w prop value)
    (declare (unused prop))
    (let ((keymap (or (window-get w 'keymap)
    (window-put w 'keymap (copy-sequence window-keymap)))))
    (mapcar
    (lambda (pair) ; pair of from and to keys
    (bind-keys
    keymap (car pair)
    (lambda () (interactive)
    (synthesize-event (lookup-event (cadr pair)) (input- focus)))))
    value))))

    ;; remap some keys:
    (add-window-matcher 'WM_CLASS "Xchat/xchat"
    '(keymap-trans . (("C-f" "Right")
    ("C-l" "C-f"))))


    Il parait que certains autres environnements de grande qualité comme FVWM (+) ou d'autres moins qualitatif comme KDE (khotkeys) permettent aussi de le faire.
  • # Solution simple

    Posté par  . Évalué à 2.

    Apparemment[1], tu peux remapper toute application avec xmodmap. Il suffit de passer le résultat du xmodmap à ton appli. Exmple avec xine :
    xmodmap /$HOME/.xmodmap_xine | xine

    Avec .xmodmap_xine ton fichier xmodmap spécial xine.

    Hope that helps...

    [1] : Je dis apparemment, c'est une solution que je n'ai pas testé.

Suivre le flux des commentaires

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