Forum général.cherche-matériel Comment utiliser un numeric keypad comme clavier

Posté par . Licence CC by-sa.
Tags : aucun
0
7
oct.
2013

Bonjour,
je
cherche à savoir si on peut utiliser un numeric keypad comme clavier
externe.
Càd, que je crée des combinaisons pour en sortir les lettres
alphanumériques, mais aussi des caractères spéciaux.
Je ne sais pas s'il existe un programme pour ça, mais si non, comment
faudrait-il programmer pour réussir à faire ce que je le souhaite.
Sur quel couche? Avec quel programme ou daemon?

Merci.

Libere,
Dafp.

  • # j'ai rien compris

    Posté par . Évalué à 2.

    alors parfois je fais un dessin, mais là ca ne marchera pas.

    c'est quoi un "numeric pad" ?
    pour moi c'est un "pavé numerique" soit la partie droite d'un clavier complet, qui manque parfois sur un clavier de portable.
    on y trouve les touches "numlock, /, x, +, -, 0123456789, ., enter

    si tu veux remapper les touches pour qu'elles sortent autre chose que les touches d'origines, il faut jouer avec keymap et creer ta propre map.

    sinon pour certains caracteres à une epoque il etait possible de simplement faire ALT+ combinaison de chiffre
    la combinaison etant en fait le code ASCII du caractere,
    cela permettait de faire les caracteres non inscrit sur le clavier comme les |, les ı • „ Ø ¿ et d'autres

    • [^] # Re: j'ai rien compris

      Posté par . Évalué à 1. Dernière modification le 07/10/13 à 19:27.

      Mon cas c'est un clavier numérique externe. Et je souhaite l'utiliser comme clavier - donc ne pas pas rentrer que des chiffres.
      Mais si je joue avec keymap, ça sera les chiffres en général qui seront changés donc même sur le clavier principal.
      J'aimerai si c'est possible de n'avoir pas de modification sur le clavier, mais seulement sur le périphérique externe.

      • [^] # Re: j'ai rien compris

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

        J'aimerai si c'est possible de n'avoir pas de modification sur le clavier, mais seulement sur le périphérique externe.

        Avec udev et xorg c'est faisable ça, puisqu'il est possible d'appliquer un mappage (layout) à un clavier en fonction de sa signature. Voilà par exemple la config xorg pour mon bépo :

        Section "InputClass"
                # Identifiant que l'on peut choisir soi-même
                Identifier "Typematrix Bepo"
        
                MatchIsKeyboard "on"
                MatchVendor     "TypeMatrix.com"
                MatchProduct    "USB Keyboard"
        
                Driver "evdev"
        
                # On choisit la disposition fr-bépo
                Option "XkbRules"  "xorg"
                Option "XkbModel"  "pc105"
                Option "XkbLayout" "fr"
                Option "XkbVariant" "bepo"
        EndSection
        
        

        Ici le mappage bepo ne s'applique que pour le périphérique qui matche les propriétés Keyboard, Vendor, et Product (ici un typeMatrix); tout autre clavier branché utilisera le mappage par défaut. Ça réduit ton problème à trouver le mappage qui va bien pour tes caractères…

        • [^] # Re: j'ai rien compris

          Posté par . Évalué à 1.

          J'ai fais ça, mais comment je fais pour attribuer une touche/valeur pour chaque key?

          • [^] # Re: j'ai rien compris

            Posté par . Évalué à 1.

            ben en ayant fait ca, tu peux ensuite creer un "keymap"
            et tu diras à xorg.conf d'aller chercher ce keymap plutot que celui par defaut

            cherche sur internet "comment creer un keymap"

          • [^] # Re: j'ai rien compris

            Posté par . Évalué à 5.

            Changer les attributions de touches de clavier est moins trivial que ne le sous-entend NeoX, mais c'est possible. On peut même faire des choses très fines, au prix de configurations un peu complexes.

            Pour se familiariser avec la syntaxe du truc et faire des tests rapides, tu peux faire comme suit :
            1. mkdir ~/xkb ; cd ~/xkb
            2. xkbcomp :0 -xkb
            3. éditer la section "xkb_symbols" du fichier server-0.xkb (cf. /usr/include/X11/keysymdef.h pour les noms de caractères)
            4. xkbcomp ~/xkb/server-0.xkb :0
            5. observer le résultat, et recommencer les étapes 3 et 4

            Ensuite pour faire prendre en compte automatiquement par Xorg et pour le bon clavier, il faut adapter xorg.conf comme conseillé par chimrod, en y ajoutant :
            XkbDir "/home/dafp/xkb"

            Dans ~/xkb il faudra probablement créer un sous-répertoire "symbols" et y mettre un fichier ressemblant à ce que tu trouves dans /usr/share/X11/xkb/symbols, en suivant des docs comme http://www.charvolant.org/~doug/xkb/html/, http://michal.kosmulski.org/computing/articles/custom-keyboard-layouts-xkb.html ou http://madduck.net/docs/extending-xkb/.

            • [^] # Re: j'ai rien compris

              Posté par . Évalué à 0.

              J'ai beau faire pleins de tests différents, je n'arrive pas à faire marcher les touches quand le numlock n'est pas activé.

              En suivant ça j'y arrive. Et ma seule solution pour numlock c'est le capslock - apparemment. (ça doit être niveau matériel?)

              Donc udev+le fichier xkb ça marche. Manque plus qu'à lancer le tout au démarrage.
              Mais que ça soit udev ou xkb, je dois lancer le tout manuellement (l'option XkbDir n'a pas marché, il me dit que ça n'existe pas).

              • [^] # Re: j'ai rien compris

                Posté par . Évalué à 1.

                J'ai beau faire pleins de tests différents, je n'arrive pas à faire marcher les touches quand le numlock n'est pas activé.

                Tu as l'impression que le clavier n'envoie rien au système dans ce cas là ? Tu peux vérifier ce qui se passe avec le programme "xev".

                Mais que ça soit udev ou xkb, je dois lancer le tout manuellement (l'option XkbDir n'a pas marché, il me dit que ça n'existe pas).

                Personnellement je n'ai jamais testé XkbDir. Je l'ai découvert dans le man de xorg.conf. Tu l'as bien mis dans la section "Files" ?

                J'utilise une commande xkbcomp dans mon ~/.xsession, mais ça ne marche pas toujours bien. Parfois je dois la relancer à la main.

                • [^] # Re: j'ai rien compris

                  Posté par . Évalué à 0.

                  Oui
                  j'avais testé avec 'xev', et en fait, lorsque num lock est activé,
                  n'importe touche équivaut à 'keycode touche'+'keycode numlock'. Et donc
                  je sais pas si c'est pour ça que je peux même pas transformer numlock en
                  simple touche (genre 'a').

                  Toute cette partie j'utilise d'abord 'udev' avec une keymap
                  personnalisé. Donc je remplace la touche '0' (0x70062) en a, et ainsi de
                  suite. Pour tout ce qui est combinaisons de touches, j'utilise 'xkb'.
                  Finalement, je pensais que ça marchait hier soir. J'avais fais quelque
                  tests en ligne de commande - pas de script, et je ne pense pas me
                  tromper quand je dis que j'avais réussi à remplacer la touche '0' en à
                  'a', avec des caractères différents si j'appuyais sur la touche 'enter'
                  remplacé en 'altgr'.
                  Mais aujourd'hui, je n'arrive plus. Si je met ma touche 'enter' en
                  'altgr', ça marche que pour les touches du clavier principale. Donc
                  'enter' du numeric-keypad est bien devenu un 'alt', mais ne marche que
                  si j'appuie sur une touche du clavier principal, et donc pas celui du
                  numeric-keypad.

                  N'y aurait-il pas eu un projet plus ou moins similaire?, car je suis
                  deçu de ne pas retrouver le résultat d'hier soir (les logs d'hier soir
                  ont été observés, mais rien de particulier ne fus effectué).

                  Pour ce qui est de XkbDir, c'est moi qui ne respectait pas la syntaxe.

                  • [^] # Re: j'ai rien compris

                    Posté par . Évalué à 2.

                    Mais aujourd'hui, je n'arrive plus. Si je met ma touche 'enter' en
                    'altgr', ça marche que pour les touches du clavier principale. Donc
                    'enter' du numeric-keypad est bien devenu un 'alt', mais ne marche que
                    si j'appuie sur une touche du clavier principal, et donc pas celui du
                    numeric-keypad.

                    parce que ton "numpad enter + numpad 0"
                    devient en fait "numpad lock + numpad enter + numpad lock + numpad 0"

                    et tu as vu toi meme qu'avec le numlock desactivé tu n'avais pas de touche
                    du coup le numpad0 n'est pas geré

                    • [^] # Re: j'ai rien compris

                      Posté par . Évalué à 0.

                      Si ça marche, en configurant directement sur 'udev'.
                      Sans ça je ne pourrai pas sortir de caractère quand le numlock est éteint.

                    • [^] # Re: j'ai rien compris

                      Posté par . Évalué à -1. Dernière modification le 10/10/13 à 22:45.

                      Double post

    • [^] # Re: j'ai rien compris

      Posté par . Évalué à 0.

      Oui je voulais dire 'numeric keypad'.- d'où la confusion. Désolé.

Suivre le flux des commentaires

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