PDA

Afficher la version complète : [Réglé] [Réglé] Clavier multimedia: touche non prise en charge par Qt ?



Musky
16/03/2009, 01h08
Bonjour à tous.

Je continue à bidouiller mon système pour que tout marche aussi bien qu'il le peut, pas forcément par besoin, mais plus par envie de comprendre.
Bref, j'en suis aujourd'hui au chapitre: configurer les touches multimédias de mon clavier, un grand classique me direz-vous.

Résumé de mon système et description de mon problème:

Opensuse 11.1
KDE 4.2
Qt 4.5
kit clavier + souris logitech MX3000

Problème 1: résolu
Un certain nombre (voir un nombre certain) de touches de mon clavier ne font aucune action
En suivant entre autre ce tuto (http://www.lea-linux.org/documentations/index.php/Hardware-hard_autres-clavier_multimedia) sur Léa Linux

xev --> aucune réaction

On passe par dmesg pour connaitre le code

atkbd.c: Unknown key pressed (translated set 2, code 0x94 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e014 <keycode>' to make it known.

en utilisant setkeycodes puis xmodmap, j'arrive à faire reconnaitre ma touche par xev et à lui attribuer un nom compatible XFree

KeyRelease event, serial 34, synthetic NO, window 0x3400001,
root 0x1a6, subw 0x3400002, time 276711787, (26,43), root:(1283,456),
state 0x10, keycode 196 (keysym 0x1008ff5b, XF86Documents), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

Problème 2: NON RESOLU

Lorsque j'essaie d'utiliser cette touche dans un raccourci (par le menu de configuration), le système me répond gentiment:

La touche sur laquelle vous venez d'appuyer n'est pas prise en charge par Qt.

Remarquez, c'est un progrès. Avant, le système ne détectait même pas que j'avais appuyé sur une touche, mais bon, ça ne fait pas avancer mon shimilibi.. shimlibi....

Je ne vois à priori aucune différence dans le message de xev concernant une touche reconnue nativement (et qui marche) d'une reconnue après setkeycodes et xmodmap (et qui ne marche pas). Peut être que la config des touches n'est pas "mise à jour"


Si quelqu'un a une piste.....


Edit:

Ah ben crotte... je viens de m'apercevoir que si j'utilisais un nom déjà connu pour ma touche, elle marchait très bien.
Je m'explique: dans xev:
1) touche mail, nommée XF86Mail, reconnue nativement, marche très bien
2) touche "Mes documents", non reconnue nativement. Si je la nomme XF86WWW, marche pas, si je nomme XF86Mail, ben ca marche (evidemment, ca produit la meme action que la touche mail)

Bon, ca doit plutot venir d'un probleme dans la reconnaissance des noms de touches. Mais qui gère ca ?

Probleme n°2 résolu ici:
post forum ubuntu (http://forum.ubuntu-fr.org/viewtopic.php?id=315446)
Pour résumer, Qt ne gère pas toutes les touches XF86. Voici la liste des touches gérées

// dead keys
dead_grave, Qt::Key_Dea d_Grave,
dead_acute, Qt::Key_Dea d_Acute,
dead_circumflex, Qt::Key_Dead_Circumflex,
dead_tilde, Qt::Key_Dea d_Tilde,
dead_macron, Qt::Key_Dead_Macron,
dead_breve, Qt::Key_Dea d_Breve,
dead_abovedot, Qt::Key_Dead_Abovedot,
dead_diaeresis, Qt::Key_Dead_Di aeresis,
dead_abovering, Qt::Key_Dead_Ab overing,
dead_doubleacute, Qt::Key_Dead_Doub leacute,
dead_caron, Qt::Key_Dea d_Caron,
dead_cedilla, Qt::Key_Dead_ Cedilla,
dead_ogonek, Qt::Key_Dead_Ogonek,
dead_iota, Qt::Key_Dead_Iota,
dead_voiced_sound, Qt::Key_Dead_Voiced_Sound,
dead_semivoiced_sound, Qt::Key_Dead_Semivoiced_Sound,
dead_belowdot, Qt::Key_Dead_Belowdot,
dead_hook, Qt::Key_Dead_Hook,
dead_horn, Qt::Key_Dead_Horn,

// Special multimedia keys
// currently only tested with MS internet keyboard

// browsing keys
XF86Back, Qt::Key_Back,
XF86Forward, Qt::Key_Forwar d,
XF86Stop, Qt::Key_Stop,
XF86Refresh, Qt::Key_Refres h,
XF86Favorites, Qt::Key_Favorite s,
XF86AudioMedia, Qt::Key_LaunchMedia,
XF86OpenURL, Qt::Key_OpenUr l,
XF86HomePage, Qt::Key_HomePage,
XF86Search, Qt::Key_Search,

// media keys
XF86AudioLowerVolume, Qt::Key_VolumeDown,
XF86AudioMute, Qt::Key_VolumeMu te,
XF86AudioRaiseVolume, Qt::Key_VolumeUp,
XF86AudioPlay, Qt::Key_MediaPla y,
XF86AudioStop, Qt::Key_MediaSto p,
XF86AudioPrev, Qt::Key_MediaPre vious,
XF86AudioNext, Qt::Key_MediaNex t,
XF86AudioRecord, Qt::Key_MediaRecor d,

// launch keys
XF86Mail, Qt::Key_LaunchMail,
XF86MyComputer, Qt::Key_Launch0,
XF86Calculator, Qt::Key_Launch1,
XF86Standby, Qt::Key_Standb y,

XF86Launch0, Qt::Key_Launch 2,
XF86Launch1, Qt::Key_Launch 3,
XF86Launch2, Qt::Key_Launch 4,
XF86Launch3, Qt::Key_Launch 5,
XF86Launch4, Qt::Key_Launch 6,
XF86Launch5, Qt::Key_Launch 7,
XF86Launch6, Qt::Key_Launch 8,
XF86Launch7, Qt::Key_Launch 9,
XF86Launch8, Qt::Key_Launch A,
XF86Launch9, Qt::Key_Launch B,
XF86LaunchA, Qt::Key_Launch C,
XF86LaunchB, Qt::Key_Launch D,
XF86LaunchC, Qt::Key_Launch E,
XF86LaunchD, Qt::Key_Launch F,

Heero_Yuy
16/03/2009, 15h00
Salux,

Je ne saurais répondre à ta question, car j'ai moi-même une touche qui ne fonctionne pas (Mes documents en l'occurrence comme toi ;) ). Merci cependant pour le lien qui devrait m'aider.

Musky
18/03/2009, 01h46
Erghh... Bon, je n'ai pas réussi a résoudre le problème de base (La touche sur laquelle vous venez d'appuyer n'est pas prise en charge par Qt.) Cependant, un paliatif suffisant est d'attribuer d'autres noms aux touches : L3 (=F13), L4 (=F14) ....

En ce qui me concerne, tous les caractères cités dans "man keysyms" fonctionnent.. (même les caractères étrangers, hébreux, araes, grecs, japonais... c'est rigolo d'ailleurs)
Par contre, la plupart des XF86... ne fonctionnent pas....Va comprendre, Charles...


Finalement, tous les boutons du clavier fonctionnent, sans programme externe, juste un sciprt à lancer au démarrage.Si quelqu'un veut plus d'infos, j'essaierai d'en donner suffisamment.

En attendant, je marque comme résolu.