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 10/11/2008, 18:35] – 213.95.41.13 | 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:// | ||
| + | |||
