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 NeoX . É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 dafp . Évalué à 1. Dernière modification le 07 octobre 2013 à 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 chimrod (site web personnel) . Évalué à 5.
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 :
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 dafp . É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 NeoX . É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 Bernez . É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 dafp . É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 Bernez . Évalué à 1.
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".
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 dafp . É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 NeoX . Évalué à 2.
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 dafp . É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 dafp . Évalué à -1. Dernière modification le 10 octobre 2013 à 22:45.
Double post[^] # Re: j'ai rien compris
Posté par dafp . Évalué à 0.
Oui je voulais dire 'numeric keypad'.- d'où la confusion. Désolé.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.