Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
telecommande_ati_remote_wonder [Le 25/11/2011, 16:59] – Correction(s) orthographique(s) rustyBSD | telecommande_ati_remote_wonder [Le 26/12/2017, 13:15] (Version actuelle) – tags L'Africain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | |||
+ | ====== Télécommande ATI SAPPHIRE REMOTE WONDER Version 1 ====== | ||
+ | |||
+ | Le module pour utiliser cette télécommande est déjà présent dans le noyaux mais nécessite quelques modifications, | ||
+ | Cette méthode fonctionne aussi pour la ATI remote wonder (ID: B4SUR84A) | ||
+ | |||
+ | |||
+ | ==== Configuration et modification du pilote ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | voici la partie intéressante du code dans le ficher ati_remote.c | ||
+ | les keycodes sont placés dans l' | ||
+ | |||
+ | < | ||
+ | | ||
+ | {KIND_ACCEL, | ||
+ | {KIND_ACCEL, | ||
+ | {KIND_ACCEL, | ||
+ | /* Directional control pad diagonals */ | ||
+ | | ||
+ | {KIND_RU, | ||
+ | {KIND_LD, | ||
+ | | ||
+ | |||
+ | /* "Mouse button" | ||
+ | {KIND_LITERAL, | ||
+ | {KIND_LITERAL, | ||
+ | {KIND_LITERAL, | ||
+ | {KIND_LITERAL, | ||
+ | |||
+ | /* Artificial " | ||
+ | * They are mapped to the " | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | |||
+ | /* keyboard. */ | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | |||
+ | /* " | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | {KIND_FILTERED, | ||
+ | |||
+ | {KIND_END, 0x00, 0x00, EV_MAX + 1, 0, 0}</ | ||
+ | |||
+ | Pour ma part j'ai changé les touches 0 à 9 par les touches du pavé numérique | ||
+ | et la touche A par la touche Q | ||
+ | ex KEY_1 par KEY_KP1 | ||
+ | |||
+ | pour obtenir les codes attribués à chaque touche | ||
+ | |||
+ | < | ||
+ | |||
+ | mais pour aller plus loin et configurer les touches TV; DVD; stop ; enregistrement etc ... j' | ||
+ | |||
+ | Or les keycodes du input.h du noyau et ceux indiqués par xev, ne sont pas forcément les mêmes: | ||
+ | |||
+ | pour le noyau 2.6.35-22 : | ||
+ | |||
+ | * pour la touche 1 du clavier numérique le input.h donne 79 comme keycode et xev donne 87! | ||
+ | * de même pour la touche " | ||
+ | |||
+ | Il y a donc un décalage dans le cas de ce noyau de 8 codes! | ||
+ | |||
+ | <note help> | ||
+ | < | ||
+ | |||
+ | Donc pour attribuer les bons codes aux touches: | ||
+ | |||
+ | * __Votre clavier multimédia a des touches multimédia non configurées__ | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | xev renvoie pour la touche FN + F5: | ||
+ | |||
+ | < | ||
+ | |||
+ | donc le keycode associé dans le fichier input.h est 156-8=148 donc KEY_PROG1 pour le noyau 2.6.35-22 | ||
+ | |||
+ | Il suffit alors de remplacer dans ati_remote.c : | ||
+ | |||
+ | < | ||
+ | |||
+ | par | ||
+ | |||
+ | < | ||
+ | |||
+ | Enfin , nous voulons utiliser notre lecteur multimédia préféré: | ||
+ | |||
+ | Il suffit d' | ||
+ | et le tour est joué ! | ||
+ | |||
+ | * __Votre clavier multimédia est parfaitement configuré: | ||
+ | |||
+ | |||
+ | Il faut donc chercher donc connaitre le keycode de la touche et keysim associé. | ||
+ | |||
+ | La commande : < | ||
+ | vous donne la relation keycode-keysim; | ||
+ | On cherche alors la correspondance du keycode dans le fichier input.h (en retirant 8 dans le cas du noyau 2.6.35-22) | ||
+ | |||
+ | Voir l' | ||
+ | |||
+ | |||
+ | une fois le fichier modifié, il n'y a plus qu'à compiler le pilote | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | version intrepid et suivante: | ||
+ | |||
+ | < | ||
+ | voici le Makefile : | ||
+ | < | ||
+ | VERSION = 2 | ||
+ | PATCHLEVEL = 6 | ||
+ | SUBLEVEL = 35 | ||
+ | EXTRAVERSION = .13-ubuntu1 | ||
+ | NAME=Crazed Snow-Weasel | ||
+ | |||
+ | ifneq ($(KERNELRELEASE), | ||
+ | # | ||
+ | # Make rules for use from within 2.6 kbuild system | ||
+ | # | ||
+ | obj-m += ati_remote.o | ||
+ | |||
+ | else # We were called from command line | ||
+ | |||
+ | KDIR := / | ||
+ | PWD := $(shell pwd) | ||
+ | all: | ||
+ | $(MAKE) -C $(KDIR) M=$(PWD) modules | ||
+ | install: all | ||
+ | $(MAKE) -C $(KDIR) M=$(PWD) modules_install | ||
+ | clean: | ||
+ | rm -f *.mod.c *.ko *.o *~ core *.i | ||
+ | endif</ | ||
+ | |||
+ | |||
+ | < | ||
+ | make</ | ||
+ | |||
+ | version intrepid et suivantes: | ||
+ | |||
+ | < | ||
+ | make</ | ||
+ | |||
+ | le pilote compilé est le fichier ati_remote.ko | ||
+ | |||
+ | Pour le tester dans un premier temps: | ||
+ | - enlever le pilote actuel déjà chargé | ||
+ | |||
+ | < | ||
+ | |||
+ | la télécommande ne répond plus à présent. | ||
+ | |||
+ | |||
+ | |||
+ | ==== Installation du nouveau module ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | la commande se fait toujours dans le répertoire ou se situe le fichier ati_remote.ko | ||
+ | normalement la télécommande réagit avec les nouvelles touches assignées | ||
+ | |||
+ | Maintenant pour l' | ||
+ | |||
+ | < | ||
+ | |||
+ | version intrepid et suivantes: | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Cette méthode n'est pas très élégante puisqu' | ||
+ | Mais elle évite tout conflit avec l' | ||
+ | de plus le pilote est chargé directement au démarrage | ||
+ | Si écraser le fichier vous fait hérisser les poils, il est possible de faire un backup du fichier avant de l' | ||
+ | |||
+ | |||
+ | ==== Changer le canal de communication ==== | ||
+ | Si votre voisin a eu la bonne idée d' | ||
+ | |||
+ | === Configuration de la télécommande === | ||
+ | Pour cela, on appuie quelques secondes sur le bouton " | ||
+ | |||
+ | === Configuration du module === | ||
+ | Il faut ensuite procéder à la configuration du module. A partir de là, 2 choix s' | ||
+ | |||
+ | == Masquer un seul canal == | ||
+ | Le calcul du masque est assez simple : 2^canal_voisin | ||
+ | Retenez ensuite la valeur, on va en avoir besoin pour la configuration | ||
+ | |||
+ | == Autoriser un seul canal == | ||
+ | Là aussi le calcul n'est pas beaucoup plus compliqué : 65535-(2^canal) | ||
+ | |||
+ | == Tests et enregistrement du masque == | ||
+ | Une fois le masque trouvé, on va le tester avant de l' | ||
+ | < | ||
+ | Puis rechargez le en passant en paramètre le masque calculé via la commande | ||
+ | < | ||
+ | Remplacez masque par le masque calculé juste au dessus. | ||
+ | |||
+ | Il vous reste à tester maintenant si l' | ||
+ | |||
+ | Si tout est ok, il ne reste plus qu'à enregistrer le masque pour que le module soit chargé avec celui-ci au démarrage. Pour cela, éditer le fichier / | ||
+ | |||
+ | Sur ubuntu : | ||
+ | < | ||
+ | Sur kubuntu : | ||
+ | < | ||
+ | |||
+ | A la fin du fichier, rajouter ceci | ||
+ | < | ||
+ | # Set channel for ATI Remote Wonder | ||
+ | options ati_remote channel_mask=masque | ||
+ | </ | ||
+ | En remplaçant toujours masque par le masque calculé | ||
+ | |||
+ | == Et si ça ne marche pas ? == | ||
+ | Il est possible d' | ||
+ | < | ||
+ | |||
+ | Tout sera alors loggué dans le fichier / | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Utiliser sa télécommande avec le programme LIRC ===== | ||
+ | |||
+ | Lirc est un programme permettant de contrôler à l'aide d'une télécommande votre ordinateur. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Vous trouverez sur le wiki d' | ||
+ | |||
+ | Remarque d'un lecteur : Vous trouverez [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Prérequis ==== | ||
+ | |||
+ | On installe LIRC et ce qu'il faut pour compiler le module de notre télécommande : | ||
+ | < | ||
+ | Ou par le protocole **apt** | ||
+ | * [[apt:// | ||
+ | * [[apt:// | ||
+ | * [[apt:// | ||
+ | |||
+ | |||
+ | ==== Configuration à partir des sources ==== | ||
+ | |||
+ | puis on reconfigure à partir des sources : | ||
+ | |||
+ | < | ||
+ | |||
+ | Sur l' | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Répondre **No** sur l' | ||
+ | |||
+ | < | ||
+ | |||
+ | Rajoutez : | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== Finalisation ==== | ||
+ | |||
+ | Puis copier les lignes suivantes dans un terminal : | ||
+ | |||
+ | < | ||
+ | sudo rm / | ||
+ | sudo m-a clean lirc | ||
+ | sudo m-a a-i lirc | ||
+ | sudo depmod -a</ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Suppression du module ati_remote ==== | ||
+ | |||
+ | On empêche le chargement du module (pilote) ati_remote : | ||
+ | < | ||
+ | |||
+ | On rajoute ceci à la fin : | ||
+ | |||
+ | < | ||
+ | blacklist ati_remote</ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Configurer sa télécommande ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | LE contenu du fichier doit reprendre le fichier de configuration de votre télécommande. Voir http:// | ||
+ | |||
+ | Pour lancer lirc au démarrage de Gnome : | ||
+ | |||
+ | **Système** >> **Préférences** >> **Sessions** >> **Programmes au démarrage** | ||
+ | |||
+ | et ajouter irexec | ||
+ | |||
+ | Ensuite reste le plus " | ||
+ | |||
+ | < | ||
+ | |||
+ | Vous trouverez des exemples de fichiers de configuration pour Lirc sur le wiki : [[: | ||
+ | |||
+ | Pour finaliser l' | ||
+ | |||
+ | Si vous avez des doutes sur la réussite de votre installation, | ||
+ | |||
+ | < | ||
+ | |||
+ | Lors de l' | ||
+ | |||
+ | Bon courage !! | ||
+ | |||
+ | =====Voir aussi===== | ||
+ | |||
+ | * [[http:// | ||
+ | |||