Pages : 1
#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
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
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 )
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
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 ?
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
Pages : 1