Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/06/2013, à 18:26

Otyugh

[résolu ]Dual clavier !

Bonjour,
et je ne sais pas si je poste où qu'il faut.

J'ai une tour avec maint port USB. J'ai maint claviers pourris ! Et récemment je découvre le plaisir d’exécuter des scripts par hotkeys, et plus encore, le problème du manque de touches, et d'idées pour des combinaisons qu'on ne ferait pas accidentellement !

Ainsi me vient l'idée. Et si j'avais un clavier dédié ?!
Voici mon problème actuel : comment faire en sorte que l'ordi utilise un second clavier comme une "super extension" du premier ? Merci d'avance o/ (je fais chauffer mon rêve d'avoir une touche pour lancer chaque petit script inutile MAIS essentiels o/)

Dernière modification par Otyugh (Le 03/06/2013, à 20:54)

Hors ligne

#2 Le 03/06/2013, à 18:53

Hizoka

Re : [résolu ]Dual clavier !

Salut,

Ca ne pourra marcher que s'il determine des numeros différents pour la touche g (par ex) des 2 claviers.

Pour tester :

sudo /lib/udev/keymap -i /dev/input/eventX

ou X est un chiffre, teste 1,2,3...
il faut trouver les 2 numeros de tes claviers

quand tu rentres la commande, il attend que tu presses une touche, il faut qu'il te renvoie un truc du genre :

scan code: 0x7000A   key code: g

Maintenant tu connais le nom et le numéro hexa de la touche g pour tes 2 claviers

Si les numeros sont identiques, je vois pas trop quoi faire.

S'ils sont différents recherche des touches libres dans le fichier : /usr/include/linux/input.h
ex :

define KEY_PHONE		169

Il faut retenir le nom suivants dans cet exemple : phone

Il reste plus qu'a lier la touche a ce nouveau nom (numero hexa de ta touche normale suivit du nom de la touche à lui attribuer)

sudo /lib/udev/keymap input/eventX 0x7000A phone

où X est le le numero de ton clavier special raccourci

Si ca marche, te reste plus qu'a ajouter ces commandes au fichier /etc/rc.local, avant le exit et sans les sudo

Dernière modification par Hizoka (Le 03/06/2013, à 18:54)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 03/06/2013, à 20:26

Otyugh

Re : [résolu ]Dual clavier !

Merci,
après essai, exact, j'ai bien un "event2" et un "event14" en clavier. Cependant je suis assez confus du fait qu'il réponde quand j'appuie "a" sur l'un ou sur l'autre de manière indifférente. du coup j'ai regardé les "codes" de a.
(je constate que les claviers français sont de faux qwertys, la honte ^^)
Sur l'un des claviers c'est

scan code: 0x70014   key code: q

dans l'autre :

scan code: 0x10   key code: q

Aussi je trouve dans le input.h que tu m'a désigné la ligne

#define KEY_A			30

Mais ça correspond à quoi ?
Y avait rien à 0x70014, mais le 0x10 semble aussi n'avoir rien à voir ^^

#define BUS_ISA			0x10

D'oùùùù viennent ces nombres !
Et comment être sûr qu'une entrée est pas déjà prise ? On peut donc pas en inventer ?

(bon j'attends pas forcément une réponse éclairée vu que c'est quand même déjà un miracle d'avoir une réponse pareille aussi vite, mais j'ai un peu peur de toucher à la config de mon clavier, peur de bidouiller, c'te honte !)
...Ou bien... Ha ! Les sudo font des affection de touche limités à la session seulement, d'où l'inclusion au rc.local ! Je crois que je saisis que je peux bricoler sans danger o/

Dernière modification par Otyugh (Le 03/06/2013, à 20:33)

Hors ligne

#4 Le 03/06/2013, à 20:47

Hizoka

Re : [résolu ]Dual clavier !

Normalement tu peux tester ca  (si le 0x10 correspond au clavier 14) :

sudo /lib/udev/keymap input/event14 0x10 phone

Ha ! Les sudo font des affection de touche limités à la session seulement, d'où l'inclusion au rc.local ! Je crois que je saisis que je peux bricoler sans danger o/

en effet, tu ne risques pas grand chose smile

Mais ça correspond à quoi ?
D'oùùùù viennent ces nombres !

KEY_A => nom de la touche
30 => numero de la touche
0x70014 => numero hexadecimal de la touche
q => code la touche

Et comment être sûr qu'une entrée est pas déjà prise ? On peut donc pas en inventer ?

On peut pas, mais tu dois bien voir si tu as ces touches sur ton clavier tongue

Mais pour determiner le nom de tes touches speciales :

xev

tu presses ta touche, et tu dois avoir un retour (si la touche est bien reconnue)

KeyRelease event, serial 40, synthetic NO, window 0x3200001,
    root 0x2c3, subw 0x0, time 36329596, (-417,3), root:(361,791),
    state 0x10, keycode 177 (keysym 0x1008ff6e, XF86Phone), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

et logiquement meme si tu donnes un meme nom a 2 touches ca ne doit pas poser de soucis.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 03/06/2013, à 20:54

Otyugh

Re : [résolu ]Dual clavier !

Excellent, je venais justement de lire un truc sur xev ^^ (dans le contexte d’utilisation de macros dans openbox big_smile)

Mhm ! J'aurais bien aimé une bidouille du genre "laisser les touches par défaut, mais ajouter un "2" devant toutes celles du second clavier par exemple, histoire de "désarmer" le clavier à macros. Disons que ça me chagrinerai que ça écrive quand je lance un script tongue



Mhm, et je dois lever mon chapeau pour l'exactitude et la clarté de tes réponses (et d'la vitesse !), je pensais vraiment pas recevoir de réponse dans le mois, et à la place, je vais pouvoir faire ça de suite, yabon o/
Merci encore.

Hors ligne

#6 Le 03/06/2013, à 22:53

Hizoka

Re : [résolu ]Dual clavier !

et sinon ca marche ? smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 03/06/2013, à 23:26

Otyugh

Re : [résolu ]Dual clavier !

Je DISAIS oui.

...C'est alors que

scan code: 0x70059   key code: f13

voulu et confirmé via

sudo /lib/udev/keymap -i /dev/input/event14

(j'ai fait "/lib/udev/keymap input/event14 0x70059 F13") donne sur xev

KeyPress event, serial 47, synthetic NO, window 0x800001,
    root 0x290, subw 0x0, time 47555700, (139,56), root:(345,387),
    state 0x10, keycode 191 (keysym 0x1008ff81, XF86Tools), same_screen YES,
    XKeysymToKeycode returns keycode: 179
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Donc là, le f13 voulu est devenu un XF86Tools !

Merdeuuuuh oO
L'exemple avec "phone" marchait...  Fin j'aurais juré !

Hoooo. Y a des trucs dans /usr/share/X11/xkb/symbols/inet
Je peux y citer

    key <FK13>   {      [ XF86Tools         ]       };
    key <FK14>   {      [ XF86Launch5       ]       };
    key <FK15>   {      [ XF86Launch6       ]       };
    key <FK16>   {      [ XF86Launch7       ]       };
    key <FK17>   {      [ XF86Launch8       ]       };
    key <FK18>   {      [ XF86Launch9       ]       };

Mhm !
Comme par hasard, hein ? Saloperie é_è
Je vais le modifier, et voir ce que ça donne au reboot. Amen.

Dernière modification par Otyugh (Le 04/06/2013, à 00:23)

Hors ligne