Journal Bépo et azerty en même temps !

Posté par .
Tags :
11
1
mai
2009
Pour ceux que ça intéresse, voilà la marche à suivre pour utiliser 2 claviers (usb) en même temps avec chacun sa propre keymap.

J'illustre ça avec un azerty et un bépo typematrix.

Vous aurez besoin du dernier Xorg (7.4) avec le support de HAL.

Il suffit donc de configurer HAL en fonction du clavier. Pour cela, créez (ou modifiez) le fichier /etc/hal/fdi/policy/10-keymap.fdi pour qu'il contienne ceci.
(J'ai galeré à peu près 20 minutes pour trouver comment inclure du XML dans un journal et je n'ai pas réussi)

J'ai repris ce fichier de /usr/share/hal/fdi/policy/10osvendor/ et modifié la partie sur "input.xkb.variant".
Pour connaitre le contenu à matcher, il existe lshal. Attention à bien regarder le périphérique avec un "info.capabilities" qui contient 'input.keys'.
  • # Sur le même clavier !

    Posté par . Évalué à 3.

    Je n'ai jamais réussi à utiliser un mappage dvorak parce que je trouvait ça trop chiant pour les [ctrl] + quelque chose
    entre autre pour les copier collé


    Ne serai t'il pas possible de garder les copier collé et de manière général tout les ctrl truc muche en azerty tout en utilisant un mappage bépo ?

    ça serai super...
    • [^] # Re: Sur le même clavier !

      Posté par . Évalué à 1.

      Bah en achetant un Typematrix ;) il a des touches spéciales pour ça …
      • [^] # Re: Sur le même clavier !

        Posté par . Évalué à 3.

        Pour ceux qui se posent la même question que moi, ces touches simulent un appui simultané sur :
        — couper : maj + suppr
        — copier : ctrl + insert
        — coller : maj + insert

        Qui sont des vieux codes, et qui fonctionnent à beaucoup d'endroits sauf dans les navigateurs de fichiers, où maj + suppr équivaut à supprimer sans passer par la corbeille.
    • [^] # Re: Sur le même clavier !

      Posté par . Évalué à 1.

      Le fr-dvorak-bépo, c'est bien. Ça permet de gagner de bonnes habitudes (frappe à 10 doigts en aveugle) et d'en perdre de mauvaises (faire les raccourcis clavier d'une seule main, comme par exemple ^c ^x ^v).

      Tu peux essayer le bépo sans soucis : pour le bien de tes articulations, pour ^c il faut appuyer sur control avec la main opposée à celle qui appuie sur c. Que ce soit avec un azerty ou un bépo.
      • [^] # Re: Sur le même clavier !

        Posté par (page perso) . Évalué à 2.

        les ^x ^c ^v sont ils si mauvais que ça a une main ?
        Ils permettent en AZERTY de faire les copier / couper / coller d'une main tendis qu'on as la sourie de l'autre.

        Pour le bépo il existe si je me trompe pas des versions avec raccourcis en azerty, sur certaines plateforme en tout cas (je sais que c'est ce que j'utilise en ce moment sur mon mac)

        C'est en tout cas un truc que j'utiliserais peu être sur une de mes machine (une disposition par clavier)
  • # Debian (et autres)

    Posté par . Évalué à 3.

    Debian (et d’autres) utilise la configuration de console-setup pour régler le(s) clavier(s).
    Pour cela, il y a un « callout » ajouté à tous les périphériques qui ont un « input.xkb.layout » qui appelle un programme debian-keyboard-setup après que tous les .fdi ont été lus. Donc qui écrase ce qu’on pourrait bien mettre dans /etc/hal/fdi/policy.

    J’ai trouvé la parade suivante : enlever le callout.

    <?xml version="1.0" encoding="UTF-8"?>
    <deviceinfo version="0.2">
      <device>
        <!-- prevent console-setup automagic -->
        <match key="input.xkb.layout" exists="true">
          <remove key="info.callouts.add" type="strlist">debian-setup-keyboard</remove>
        </match>
        <!-- set layout for remote control -->
        <match key="info.capacities" contains="input.keys">
          <match key="info.product" contains="HID 3353:3713">
            <!-- Enforce XkbLayout=us and XkbVariant empty -->
            <merge key="input.xkb.layout" type="string">us</merge>
            <merge key="input.xkb.variant" type="string" />
          </match>
        </match>
        <!-- use console-setup automagic except for remote control -->
        <match key="input.xkb.layout" exists="true">
          <match key="info.product" contains_not="HID 3353:3713">
            <append key="info.callouts.add" type="strlist">debian-setup-keyboard</append>
          </match>
        </match>
      </device>
    </deviceinfo>

    (Attention, j’ai mis des nbsp pour l’indentation. J’espère que ça passera, parce que la prévisualisation… Templeet, c’était mieux à vent.)

    Explication :
    — j’enlève le callout pour tout le monde ;
    — je remets le callout pour tout le monde sauf la télécommande ;
    — enfin, je configure la télécommande (pas utile vu que je reste en « us » mais c’est pour l’exemple).

    Testé et approuvé.
    • [^] # Re: Debian (et autres)

      Posté par . Évalué à 1.

      Bon, finalement, le xml est passé. Par contre, m’a gouru dans l’ordre des explications, il fallait lire :

      Explication :
      — j’enlève le callout pour tout le monde ;
      — enfin, je configure la télécommande (pas utile vu que je reste en « us » mais c’est pour l’exemple) ;
      — je remets le callout pour tout le monde sauf la télécommande.

      Mais on se moque du placement des directives pour la télécommande, tout ce qui importe c’est l’ordre des deux autres.
      • [^] # Re: Debian (et autres)

        Posté par . Évalué à 1.

        Bon, finalement, le xml est passé

        Et juste comme ça, tu lui a fait quoi à ton xml exactement pour l'inclure ?
        • [^] # Re: Debian (et autres)

          Posté par . Évalué à 1.

          Ben des balises < code >, puis j’ai collé mon fichier et j’ai vu que la prévisualisation me remplaçait tout par des entités &truc;, quel que soit le mode utilisé (avec/sans HTML), y compris pour les guillemets droits. Il me virait aussi mes espaces insécables.
          Alors j’ai pris mon Emacs et j’ai mis moi-même des entités (lt, gt et nbsp) avant de copier. Sais pas si c’était utile ou nécessaire. En tout cas, la prévisualisation était identique : des entités partout, même là où je n’en avais pas mis (les ").
          Alors, j’ai dit flûte et j’ai envoyé…

          Mais les commentaires et les journaux, c’est (était ?) pas géré pareil…
    • [^] # Re: Debian (et autres)

      Posté par . Évalué à 2.

      Trop fort, je ne comprenait pas pourquoi ça ne marchait pas... Autant dire que j'ai pensé beaucoup de mal de HAL ces derniers jours :)

      Enfin, j'ai mon réglage.
      Merci beaucoup.
  • # Merci

    Posté par (page perso) . Évalué à 2.

    Oah je me posais la question du keymap par clavier, parceque j'ai une télécommande (ultraX logitech) qui a la très bonne idée d'être reconnue comme un clavier (marche sur n'importe quel os sans d'autre pilote que celui du clavier usb, que tout le monde a)
    Les touches 1, 2, 3 etc. sont celles du clavier, les touches play/pause/etc. sont celles classiques des clavier multimedia.
    SAUF que sur un clavier azerty les touches numériques il faut une majuscule, et c'est absurde d'happuyer sur MAJ du clavier pour utiliser la chiffres de la télécommande ^^.

    ce commentaire est sous licence cc by 4 et précédentes

  • # xinput

    Posté par (page perso) . Évalué à 2.

    A la place de lshal, on peut aussi utiliser xinput. L'avantage, c'est que ça donne aussi le device associé au niveau de xorg, ce qui permet de changer de keymap à la volée pour un clavier donné (pratique lors d'un branchement à chaud d'un TypeMatrix sur une machine qui n'est pas la vôtre).

    Marche à suivre :
    - brancher le clavier
    - exécuter xinput list --short dans un terminal (malheureusement, il n'est pas installé partout)
    - repérer l'identifiant du clavier qui vous intéresse (par exemple, id=42)
    - exécuter setxkbmap -device 42 fr bepo

    Et voilà !
    • [^] # Re: xinput

      Posté par . Évalué à 1.

      Trop bien !

      Et il n'y aurait pas moyen d'utiliser une keymap disponible dans le répertoire utilisateur ?
      Au boulot, je n'ai pas la main sur ma machine, donc cette technique pourrait être parfaite !
      • [^] # Re: xinput

        Posté par (page perso) . Évalué à 3.

        Demande à ton admin sys d'installer xinput et de mettre xorg à jour par la même occasion : bepo est inclus dans les dernière version ;-)

        Sinon, tu peux tenter d'ajouter -I bepo-config et mettre les bons fichiers dans le répertoire bepo-config, mais je ne sais pas exactement de quoi setxkbmap a besoin pour fonctionner (l'archive nomade de [http://clavier-dvorak.org/wiki/Installation] est un point de départ, mais ils utilisent xkbcomp qui ne discrimine pas selon le device).
    • [^] # Re: xinput

      Posté par . Évalué à 2.

      Je rajouterai : exécuter "setxkbmap -device NN -model pc105 fr bepo" si votre autre clavier n'est pas de type "PC" (genre, un clavier Mac).
  • # XML

    Posté par (page perso) . Évalué à 2.

    Il n'y a pas à dire, les fichiers XML dans les fichiers de conf bas niveau sont une hérésie... Red-Hat et Novell commence a me gonfler a en mettre de partout ! Encore quelques années et on sera obliger de passer par leur cliclodrome pour gérer nos machines.

    Vraiment, pas besoin de XML pour gérer un tel fichier...

Suivre le flux des commentaires

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