Forum Linux.général [RÈSOLU] Comment configurer un clavier inhabituel ?

Posté par  . Licence CC By‑SA.
Étiquettes :
5
8
nov.
2018

Bonjour à toi qui passe !
Pourrais-tu m'aider à nommer cette configuration du clavier ?

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┲━━━━━━━━━━━┓
│ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + ┃           ┃
│ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = ┃ Backspace ┃
┢━━━┷━┱─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┺━┳━━━━━━━━━┫
┃     ┃ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ |       ┃
┃Tab  ┃ a │ z │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \       ┃
┣━━━━━┻┱──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬━━━━━━━━━━━━┫
┃Caps  ┃ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ " │            ┃
┃Lock  ┃ q │ s │ d │ f │ g │ h │ j │ k │ l │ m │ ' │ Enter      ┃
┣━━━━━┳┹──┬┴──┬┴───┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┳┴━━━╋━━━━━━━━━━━━┫
┃     │ W │ X │ C │ V │ B │ N │ : │ < │ > │ ? ┃                 ┃
┃Shift┃ w │ x │ c │ v │ b │ n │ ; │ , │ . │ / ┃    Shift        ┃
┣━━━━━╋━━━┷━┳━┷━┱─┴───┴───┴───┴───┴───┲━━━━━━━╋━━━━━━━┳━━━━━━━━━┫
┃     ┃     ┃   ┃                     ┃       ┃       ┃         ┃
┃Ctrl ┃Meta ┃Alt┃      Espace         ┃Alt    ┃ Menu  ┃   Ctrl  ┃
┗━━━━━┻━━━━━┻━━━┹─────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━━━┛

J'aimerais utiliser la cartographie telle qu'elle est au lieu de me reposer sur le générique AZERTY et la mémoire des muscles des doigts. systemd tourne sur la machine ; si je tapais localectl list-keymaps, quel FOO devrais-je choisir parmi les sorties obtenues pour ensuite faire localectl set-keymap FOO ?

Tu l'aurais compris, j'espère tomber sur quelque chose de déjà connue au lieu de me coller à une configuration manuelle du XKB.

EDIT 1 (le 08/11/2018) : Oui, vous avez raison, c'est ~ au lieu de « exposant 3 » sur la première touche en haut à gauche.

EDIT 2 (le 09/11/2018) : Résolu ! Merci à tout le monde et, spécialement, @xev !

  • # qwerty

    Posté par  . Évalué à 4.

    C'est pas un QWERTY(US pas UK) avec un échange de touche ?
    Genre la disposition des touches «fonction» sont les même que le QWERTY

    (m -> ;)

    le seul truc bizard c'est le ³ qui devrais être ~

    • [^] # Re: qwerty

      Posté par  . Évalué à 2.

      Bien vu pour le ³, c'était une erreur de frappe de ma part, merci. Je l’appellerai aussi QWERTY + échange de touches, il y a une proposition plus bas dans les commentaires qui me semble prometteuse.

  • # Belge ?

    Posté par  . Évalué à 0.

    Ça fait un moment que je n'en ai pas vu, mais ça ne serait pas une disposition de touche à la mode belge ?
    J'ai eu la surprise il y a quelques années lors d'une mission ou deux du côté de Bruxelles (hej! Salut les cousins!).
    Ça surprend au début, on risque la schizophrénie quand on rentre chez sois, avec un "vrai" clavier français.
    Mais quand on y regarde mieux, on s'aperçoit que c'est pas con du tout, cette disposition : très pratique pour écrire du code !

    • [^] # Re: Belge ?

      Posté par  . Évalué à 2.

      Non, ce n'est pas du français belge car dans ce cas, on devrait avoir ceci.

  • # Facile

    Posté par  . Évalué à 3. Dernière modification le 08 novembre 2018 à 14:20.

    C'est un US-qwerty (clavier 104 touches) moddé en azerty : il y a juste trois inversions (A-Q, Z-W et M-;) Ce n'est pas quelque chose de vraiment standard.

    C'est possible que le clavier lui-même ne soit pas remappé en interne, vérifie comment la touche A est reconnue par xev. Si c'est le cas, tu pourras pas replacer le marquage en qwerty (ce que perso je préfère pour des questions de rétrocompatibilité)
    Si c'est pas le cas, t'as juste besoin de refaire les trois inversions en partant de la config us-qwerty, us-intl ou d'une config comme qwerty-fr

    Et pour moi ils ont merdé avec le ~ qui est marqué ³

    • [^] # Re: Facile

      Posté par  . Évalué à 2.

      Merci beaucoup, à première vue, ton explication me parait être la plus prometteuse, je n'ai pas le clavier pour le moment afin de confirmer, je te reviendrai plus tard.

      P.S. C'est moi qui ai complètement merdé avec ³ au lieu de ~, à force de faire du ASCII art, les touches se sont emmêlées. Toutes mes plates !

    • [^] # Re: Facile

      Posté par  . Évalué à 5.

      Solution

      J'ai réussi à torcher une bonne configuration grâce à tes indications, tous mes remerciements ! Une description détaillée se trouve infra pour la postérité.

      xev

      J'ai commencé avec ta suggestion de xev et les caractères d’intérêt donnaient ceci :

      $ xev
      # a (Un # indique ce qui est marqué sur la touche dans le post initial.)
      … keycode 24 (keysym 0x61, a) …
      # z
      … keycode 25 (keysym 0x7a, z) …
      # q
      … keycode 38 (keysym 0x71, q) …
      # w
      … keycode 52 (keysym 0x77, w) …
      # m
      … keycode 47 (keysym 0x6d, m) …
      # ;
      … keycode 58 (keysym 0x2c, comma) …

      À partir de là, un fichier Xmodmap s'imposait, du genre

      $ cat ~/.Xmodmap
      keycode  24 = a A a A
      keycode  38 = q Q q Q
      keycode  47 = m M m M
      keycode  52 = w W w W
      keycode  58 = semicolon colon semicolon colon
      keycode  25 = z Z z W

      Alors, on change la disposition en QWERTY, re-démarre la session et laisse X faire sa magie ? Que nenni ! La machine fait tourner Wayland et tout ce détour par xev+xmodmap (voire xkbcomp pour tenter une migration automatique de xmodmap à la bonne façon de faire) était pour la gallérie car le ~/.Xmodmap sera ignoré par un système sous Wayland. À noter que la majorité des liens bien indexés sur le Web orientent vers cette façon de faire un peu caduque. L'exercice était quand même instructif.

      xkb

      Il était temps donc d’arrêter la procrastination afin de se coltiner XKB et il s'est avéré que c'est un mécanisme élégant et facile à mettre en place. Ce format :

      less /usr/share/X11/xkb/symbols/us
          key <TLDE> {        [     grave,    asciitilde      ]       };
          key <AE01> {        [         1,    exclam          ]       };
          key <AD01> {        [         q,    Q               ]       };

      pourrait paraître abscons de loin mais il est des plus simples. Dans <…>, si on ignore la première lettre, les rangées des touches sont numérotées en A,B,C, … en commençant par le bas (là où se trouve la touche SPACE). Donc <AE01> et <AD01> indiquent à chaque fois la première touche (01), respectivement pour les rangées E et D. Simple et élégant ! Plus besoin d'intercepter des événements à la xev à la recherche des identifiants des touches ! Ce qui est entre {}; correspond à ce que renverra une touche donnée après saisie. Alors, j'ai fait mu-muse avec ce nouveau jouet :

      # root
      cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/us.backup
      vi /usr/share/X11/xkb/symbols/us # pour avoir
        key <AD01> { [ a, A, agrave, acircumflex  ] };
        key <AD02> { [ z, Z                       ] };
        key <AB02> { [ x, X, 0x10000AB, 0x10000BB ] }; // «,»
        ⋮

      Après avoir ajouté de l'Unicode partout où il y avait de la place sur les touches (oui oui, j'ai joué à fond !), il restait à activer tout le bousin via systemd. Et pour cela, c'est ta suggestion de us-qwerty/us-intl qui orientait dans le bon chemin :

      # root
      localectl set-x11-keymap us altgr-intl && systemctl reboot

      Au redémarrage, tout est nickel … du moins tant que la session ouverte est « graphique » . Ainsi, une session dans un terminal virtuel (CTRL+ALT+F(3|4|…)) replongera le clavier dans ses travers. J'imagine qu'il y a une solution pour ça aussi, peut-être un truc à appeler dans le ~/.bashrc, mais l'état actuel des choses me satisfait, donc re-bonjour la procrastination ! Quid de SSH et d'autres types de sessions ? Aucune idée pour le moment, tout baigne, on vous dit qu'on procrastine, qu'on n'aimerait pas trop abuser du clavier de peur qu'il ne se blo

      • [^] # Re: Facile

        Posté par  . Évalué à 4.

        Au redémarrage, tout est nickel … du moins tant que la session ouverte est « graphique » . Ainsi, une session dans un terminal virtuel (CTRL+ALT+F(3|4|…)) replongera le clavier dans ses travers. J'imagine qu'il y a une solution pour ça aussi, peut-être un truc à appeler dans le ~/.bashrc, mais l'état actuel des choses me satisfait,

        la commande loadkeys fait peut-etre ce que tu souhaites

        loadkeys taconfigUS

        c'est comme ca que je fais sur les machines qui demarrent en clavier anglais alors que j'ai un clavier francais branché dessus.

        loadkeys fr

        • [^] # Re: Facile

          Posté par  . Évalué à 3.

          Le wiki bépo a toute une page consacrée à l'utilisation d'une disposition personnalisée en dehors du serveur graphique. Ça peut donner des pistes.

        • [^] # Disposition modifiée sur la console texte

          Posté par  . Évalué à 3.

          la commande loadkeys fait peut-etre ce que tu souhaites

          C’est plus compliqué que ça. loadkeys charge les dispositions console, pas les dispositions X.org.

          Soit tu es sur une Debian, une Ubuntu ou autre distribution dérivée.

          Dans ce cas, il y a un programme dont j’ai oublié le nom qui fait la conversion de la disposition utilisée par X.org pour la console. Encore faut-il déclencher la régénération avec, de mémoire, la commande dpkg-reconfigure keyboard-configuration

          Si l’on a défini une nouvelle disposition plutôt que d’en modifier une existante, il faut au préalable l’avoir déclarée dans /var/lib/dpkg/info/keyboard-configuration.config ou /var/lib/dpkg/info/console-setup.config (pour faire bonne mesure, la déclarer dans /usr/share/X11/xkb/rules/evdev.xml voire les autres fichiers de ce répertoire pourra aider avec les préférences des environnements graphiques).

          Soit tu n’es ni sur une Debian, ni sur une de ses dérivées.

          Dans ce cas, il faut décompresser (avec zcat) par exemple /usr/share/kbd/keymaps/i386/qwerty/us-acentos.map.gz (ça semble être ce qui correspond à Qwerty US international), le modifier (pas la peine de le compresser), le placer dans un sous-réportoire de /usr/share/kbd/keymaps/i386 et utiliser le fichier produit avec loadkeys ou définir KEYMAP=nom_du_fichier dans /etc/vconsole.conf (pour une distribution basée sur systemd) pour une configuration dès le démarrage.

          « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # Quelle est la marque du clavier?

    Posté par  . Évalué à 2. Dernière modification le 08 novembre 2018 à 14:35.

    Quelle est la marque du clavier? (ça me fait penser aux claviers de la marque Trust…)
    Tu es sur quelle distribution?
    Tu as essayé de changer le modèle de clavier (xkbmodel) avant de changer la disposition (xbklayout)?
    une liste (non exhaustive?) ici

    • [^] # Re: Quelle est la marque du clavier?

      Posté par  . Évalué à 3.

      C'est une marque chinoise, écrite en kanji, avec une étiquette sous le clavier qui indique un site web dont l'URL est complètement bidonne : même si ma compréhension des différents kanji est très rudimentaire, je n'ai aucun doute que la page à laquelle renvoie l'URL n'a rien à voir avec les claviers (je n'ai même pas pris la peine d'essayer de la traduction automatique).

      À part ça, je n'étais pas au courant de la distinction xkbmodel vs. xbklayout, merci du tuyau, je le tenterai et rapporterai les résultats dès que j'aurai le clavier sous la main.

      • [^] # Re: Quelle est la marque du clavier?

        Posté par  . Évalué à 6.

        C'est une marque chinoise, écrite en kanji,

        Ouh malheureux ! Tu vas avoir des problèmes avec les triades !
        Les kanji c'est un terme spécifique au japonais. Pour les écritures des langues chinoises on parle de hanzi et pour le coréen on parlera de hanja. Plus généralement on utilise le terme sinogrammes. ;)

        • [^] # Re: Quelle est la marque du clavier?

          Posté par  . Évalué à 1.

          Ha, les triades, même pas peur ! C'est le retour aux origines, ça ! Tous les rudiments de kanji que j'ai sont le fruit d'un apprentissage décidé après avoir lu un livre dans lequel les personnages tournent autour de samouraïs. C'était un de ces chefs-d'œuvres artistiques à séquelles : il y a de l'art qui engendre de sortes de cultes pour les aficionados ; le culte pour ce livre-là était, dans mon cas, l'apprentissage du kanji ! Auteure : Helen DeWitt ; titre : The Last Samurai ; recommendation : regarder le film Seven Samurai d'Akira Kurosawa avant de se plonger dans la lecture du bouquin.

          Au moment de l'apprentissage, on nous inculquait, si je ne m'abuse, que « kanji » était aussi valable en Corée et certaines parties de la Chine mais je suis vraiment un noob sur le sujet, dont acte de tes clarifications, tu me paraît être à l'aise avec ces langues. Et merci !

        • [^] # Re: Quelle est la marque du clavier?

          Posté par  . Évalué à 2.

          il me semble que le coréen c'est du hangeul, le hanja étant les ancien caractère chinois coreanisé

          • [^] # Re: Quelle est la marque du clavier?

            Posté par  . Évalué à 3.

            En Corée du Sud les hanja n'ont jamais totalement disparu parce qu'ils contribuent à éviter les ambiguïtés. Le coréen n'est pas une langue à tons comme les langues siniques, le système phonétique hangeul n'est pas toujours suffisants. Dis-toi que c'est une situation similaire à la langue japonaise : il y a au moins deux prononciations (onyomi et kunyomi) pour le même kanji et tout écrire en syllabaire hiragana demanderait énormément de contextualisation.
            Les hanja permettent aussi de décrire le vocabulaire technique (économique, commercial, scientifique, etc.) d'abord emprunté au mandarin puis plus tard au japonais (durant l'occupation).

            La Corée du Nord avait fait le choix de ne garder que les hangeul mais depuis une petite dizaine d'années le parti s'est rendu compte que la connaissance des hanja était un passage indispensable pour l'enseignement supérieur, même en ayant emprunté beaucoup de termes techniques au russe.

      • [^] # Re: Quelle est la marque du clavier?

        Posté par  . Évalué à 3.

        Bonjour,

        Es-tu sûr que le clavier est dans son état sorti d’usine ?

        N’est-il pas possible que quelqu’un ait échangé les touches avant que tu n’aies ce clavier ?

        « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

        • [^] # Re: Quelle est la marque du clavier?

          Posté par  . Évalué à 2. Dernière modification le 09 novembre 2018 à 06:39.

          Le clavier est tout neuf.

          • [^] # Re: Quelle est la marque du clavier?

            Posté par  . Évalué à 3.

            Curieux quand même.

            Ça donne l’impression que soit le fabricant soit le vendeur a échangé quelques touches en se disant qu’il aurait l’air suffisamment Azerty pour que des Français ou des Belges l’achètent, quitte à ne pas vraiment pouvoir l’utiliser après (mais c’est secondaire, puisqu’il est déjà payé).

            Les touches ont toutes la même forme, non (sur certains claviers, elles ont un profil différent suivant les rangées) ?

            « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

            • [^] # Re: Quelle est la marque du clavier?

              Posté par  . Évalué à 2.

              Les touches ont la même forme. Le clavier a été surtout acheté pour des caractéristiques autres que la forme des touches ; grosso modo : AZERTY, sans fil, rétro-éclairage configurable par un bouton ON/OFF.

              Quant à tes cogitations sur un éventuel bricolage avant achat, elles seraient correctes ! Voici l'origine du clavier : pendant un voyage dans l'est asiatique, une connaissance a flashé sur un modèle de claviers et a voulu m'en apporter un comme cadeau-surprise. Comme il n'y avait que des QWERTY au premier passage, une commande d'AZERTY a été effectuée. Au final, deux claviers « AZERTY » ont été achetés, le sien et le mien, même si les termes de la commande n'avaient pas été respectés à la lettre.

              En effet, la personne en question n'étant pas très au fait des « geekeries », le constat fait à l'achat était que c'était des AZERTY au niveau des touches donnant des lettres et des QWERTY pour les touches des symboles. Cela était un facteur additif à l'effet de surprise, donc une raison de plus d'absolument faire l'achat !

              Cependant, tout est en ordre maintenant : son clavier est utilisé en mode WYS(aisis)WYG avec une installation Fedora que je lui ai faite ; les histoires de terminaux virtuels et autres SSH sont pour mon clavier et non pas l'autre.

Suivre le flux des commentaires

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