View previous topic :: View next topic |
Author |
Message |
Antares Apprentice


Joined: 04 Apr 2005 Posts: 184 Location: France
|
Posted: Mon Aug 08, 2005 2:59 am Post subject: [HOWTO] Télécommande Ati Remote Control sous linux |
|
|
C'est juste une petite méthode pour optimiser un peu le fonctionnement de votre télécommande sous linux... C'est bien pratique quand votre PC fait DivX box, télé, chaine hifi,Lecteur DVD, etc...
CONFIGURATION DU SYSTEM
Premièrement, il faut sélectionner le module ati_remote dans le noyau :
Code: | Symbol: USB_ATI_REMOTE
Prompt: ATI / X10 USB RF remote control
Defined at drivers/usb/input/Kconfig:223
Depends on: USB && INPUT
Location:
-> Device Drivers
-> USB support
|
et ajouter une pitite section dans le fichier /etc/X11/xorg.conf :
Code: | Section "InputDevice"
Identifier "My ati remote control"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/input/mice"
Option "SendCoreEvents"
EndSection
|
sans oublier de la déclarer dans la section "ServerLayout" :
Code: | InputDevice "My ati remote control" "CorePointer"
|
Maintenant, on mets en route le tsouintsouin :
Code: | # modprobe ati_remote
# echo "ati_remote" >> /etc/modules.autoload.d/kernel-2.6
|
C'est parti !
CONFIGURATION DES TOUCHES DE LA TELECOMMANDE
En fait, la télécommande est reconnue comme une extension du clavier. Ainsi, quand on modifie certaines touches de la télécommande, on modifie des touches du clavier. Conclusion, faut faire gaffe et s'en rappeler sinon après on comprend plus rien.
J'utilise 3 outils pour configurer les touches de ma télécommande : xbindkeys, xvkbd et xmodmap.
--> xbindkeys pour configurer de facon permanente certaines touches de la télécommande
--> xvkbd pour émuler les combinaisons de touches
--> xmodmap pour configurer temporairement les touches de la télécommande.
On va commencer par la config de xbindkeys :
Pour récupérer le keycode d'un touche il suffit de faire comme ca :
et on appuie sur la touche dont on veut le code.
Par exemple pour la touche espace de mon clavier :
Code: | # xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
m:0x10 + c:65
Mod2 + space
|
Comme c'est indiqué lorsqu'on exécute la commande il faut éditer le fichier ~/.xbindkeysrc comme ceci :
Code: | "Commande à executer quand la touche est pressée"
KEYCODE (par exemple m:0x10 + c:65) |
C'est là qu'entre en jeu xvkbd pour avoir une combinaison de touches liée à un seul bouton de la télécommande.
Xvkbd s'utilise comme ceci :
Code: | # xvkbd -text "Combinaison de touches" |
Heureusement, on peut mettre les touches "spéciales" du claviers dans les combinaisons de touches :
- \r - Entrée
- \t - Tab
- \b - Espace
- \e - Echap
- \d - Delete
- \S - Shift (modifie le caratère suivant)
- \C - Control (modifie le caractère suivant)
- \A - Alt (modifie le caractère suivant)
- \M - Meta (modifie le caractère suivant)
- \[keysym] - le keysym correspondant
Ainsi, pour avoir la touche POWER (rouge) de la télécommande agissant comme ALT+F4, il faut faire :
Code: | # xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
m:0x10 + c:222
Mod2 + NoSymbol
|
Et on récupère le keycode de la touche power, et ensuite on mets ceci dans le fichier ~/.xbindkeysrc :
Code: | "xvkbd -text "\A\[F4]" "
m:0x10 + c:222
|
Enfin, on peut choisir de reconfigurer la télécommande pour chaque application (xmms, mplayer, tvtime, ogle...) avec xmodmap.
Il faudra pour cela éditer un fichier de config pour chaque application avec cette syntaxe :
keycode KEYCODE = KEYSYM
où KEYCODE est le numéro de la touche (222 pour la touche POWER, utilisée juste avant) et KEYSYM est la touche que l'on veut (a, b, c, d, 1, 2, 3...)
Voilà ma config pour certaines applications :
Code: | # cat ~/.xmodmap_tvtime
!################################################
!############ ATI REMOTE CONTROL ################
!################## TVTIME ######################
!################################################
!Quit
keycode 10 = 1
keycode 11 = 2
keycode 12 = 3
keycode 13 = 4
keycode 14 = 5
keycode 15 = 6
keycode 16 = 7
keycode 17 = 8
keycode 18 = 9
keycode 19 = 0
!Chanel +
keycode 105 = Up
!Chanel -
keycode 99 = Down
|
Code: | # cat ~/.xmodmap_xmms
!################################################
!############ ATI REMOTE CONTROL ################
!################### XMMS #######################
!################################################
!Play
keycode 168 = x
!Pause
keycode 110 = c
!Stop
keycode 232 = v
!Next track
keycode 233 = b
!Previous track
keycode 152 = z
!Shuffle
keycode 26 = s
!Repeat
keycode 41 = r
|
Code: | # cat ~/.xmodmap_gmplayer
!################################################
!############ ATI REMOTE CONTROL ################
!################# GMPLAYER #####################
!################################################
!Play
keycode 168 = Return
!Pause
keycode 110 = p
!Stop
keycode 232 = s
!Next track
keycode 233 = greater
!Previous track
keycode 152 = less
!Quit
keycode 222 = q
|
Ainsi, au lieu de lancer l'application nommée GN2 avec la commande "GN2", on la lance avec :
Code: | # xmodmap ~/.xmodmap_GN2 | GN2
|
Il suffit donc d'insérer tout ceci dans le fichier ~/.xbindkeysrc.
Cependant, comme je l'ai signalé au début, la télécommande est une extension du clavier. Par exemple, avec le xmodmap de tvtime, les touches de 1 à 9 du clavier sont modifiées aussi. Il va donc falloir reconfigurer le clavier au moment de quitter l'application. J'ai choisi de la faire de cette façon : quand je presse la touche POWER, ça fait la combinaison ALT+F4 et ensuite ca reconfigure tout.(dans ~/.xbindkeysrc)
Code: | "xvkbd -text "\A\[F4]" && xmodmap ~/.xmodmap_restore "
m:0x10 + c:222
|
Avec ~/.xmodmap_restore :
Code: | # cat ~/.xmodmap_restore
clear Mod1
clear Mod2
keycode 9 = Escape Escape
keycode 10 = ampersand 1
keycode 11 = eacute 2 dead_tilde
keycode 12 = quotedbl 3 numbersign
keycode 13 = apostrophe 4 braceleft
keycode 14 = parenleft 5 bracketleft
keycode 15 = minus 6 bar
keycode 16 = egrave 7 dead_grave
keycode 17 = underscore 8 backslash
keycode 18 = ccedilla 9 asciicircum
keycode 19 = agrave 0 at
keycode 20 = parenright degree bracketright
keycode 21 = equal plus braceright
keycode 22 = BackSpace
keycode 23 = Tab Tab
keycode 24 = a
keycode 25 = z
keycode 26 = e E EuroSign
keycode 27 = r
keycode 28 = t
keycode 29 = y
keycode 30 = u
keycode 31 = i
keycode 32 = o
keycode 33 = p
keycode 34 = dead_circumflex dead_diaeresis
keycode 35 = dollar sterling currency
keycode 36 = Return
keycode 37 = Control_L
keycode 38 = q
keycode 39 = s
keycode 40 = d
keycode 41 = f
keycode 42 = g
keycode 43 = h
keycode 44 = j
keycode 45 = k
keycode 46 = l
keycode 47 = m M
keycode 48 = ugrave percent
keycode 49 = twosuperior
keycode 50 = Shift_L
keycode 51 = asterisk mu
keycode 52 = w
keycode 53 = x
keycode 54 = c
keycode 55 = v
keycode 56 = b
keycode 57 = n
keycode 58 = comma question dead_cedilla
keycode 59 = semicolon period
keycode 60 = colon slash Multi_key
keycode 61 = exclam section
keycode 62 = Shift_R
keycode 63 = KP_Multiply
keycode 64 = Alt_L Meta_L
keycode 65 = space space
keycode 66 = Caps_Lock
keycode 67 = F1 F11
keycode 68 = F2 F12
keycode 69 = F3 F13
keycode 70 = F4 F14
keycode 71 = F5 F15
keycode 72 = F6 F16
keycode 73 = F7 F17
keycode 74 = F8 F18
keycode 75 = F9 F19
keycode 76 = F10 F20
keycode 77 = Num_Lock
keycode 78 = Scroll_Lock
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 82 = KP_Subtract
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 86 = KP_Add
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 90 = KP_0
keycode 92 = Sys_Req
keycode 94 = less greater bar
keycode 95 = F11 F11
keycode 96 = F12 F12
keycode 98 = Up
keycode 99 = Prior
keycode 100 = Left
keycode 102 = Right
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insertkeycode 107 = Delete
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 112 = KP_Divide
keycode 113 = Mode_switch
keycode 114 = Break
keycode 110 = Find
! right windows-logo key
! in "windows" keyboards the postion of the key is annoying, is where AltGr
! usually resides, so go definie it as AltGr
keycode 116 = Mode_switch
! right windows-menu key
keycode 117 = Multi_key
add Mod1 = Alt_L Meta_L
add Mod2 = Num_Lock
add Mod4 = Super_L Super_R Super_L Hyper_L
add Mod5 = Mode_switch ISO_Level3_Shift
|
Ou alors on peut aussi générer le fichier avec cette commande : (merci bong)
Code: |
$ xmodmap -pke > ~/.xmodmap_restore
|
(cette commande doit etre tapée à partir d'un mapping vierge de toutes modifications...)
ASTUCES
Des pitites astuces pour peaufiner la config :
Pour la touche MUET : si comme moi vous voulez utiliser cette touche pour couper le son et le remettre, il suffit d'utiliser cette commande :
Code: | "amixer set Master toggle"
m:0x10 + c:160
|
Pour les touches du volume :
Code: | "amixer set Master 1-"
m:0x10 + c:174
"amixer set Master 1+"
m:0x10 + c:176
|
J'ai remarqué que quelques fois la télécommande était détectée en tant que m:0x00 et pas m:0x10. Je sais pas encore trop pourquoi , mais la solution que j'ai trouvé pour l'instant c'est de dupliquer le fichier ~/.xbindkeys pour que ça fonctionne dans les deux cas :
Code: | # cat ~/.xbindkeysrc
###########################
# xbindkeys configuration #
###########################
"amixer set Master 1-"
m:0x10 + c:174
"amixer set Master 1+"
m:0x10 + c:176
"amixer set Master toggle"
m:0x10 + c:160
"xvkbd -text "\A\[F4]" && xmodmap ~/.xmodmap_restore "
m:0x10 + c:222
"xvkbd -text "\C\A\[Left]" "
m:0x10 + c:146
"xvkbd -text "\C\A\[Right]" "
m:0x10 + c:140
"xvkbd -text "\A\[Escape]" "
m:0x10 + c:177
"xmodmap ~/.xmodmap_tvtime | tvtime"
m:0x10 + c:159
"ogle"
m:0x10 + c:151
"xterm"
m:0x10 + c:178
"xmodmap ~/.xmodmap_gmplayer | gmplayer"
m:0x10 + c:230
"xmodmap ~/.xmodmap_xmms | xmms"
m:0x10 + c:136
##############################################################################
"amixer set Master 1-"
m:0x0 + c:174
"amixer set Master 1+"
m:0x0 + c:176
"amixer set Master toggle"
m:0x0 + c:160
"xvkbd -text "\A\[F4]" && xmodmap ~/.xmodmap_restore "
m:0x0 + c:222
"xvkbd -text "\C\A\[Left]" "
m:0x0 + c:146
"xvkbd -text "\C\A\[Right]" "
m:0x0 + c:140
"xvkbd -text "\A\[Escape]" "
m:0x0 + c:177
"xmodmap ~/.xmodmap_tvtime | tvtime"
m:0x0 + c:159
"ogle"
m:0x0 + c:151
"xterm"
m:0x0 + c:178
"xmodmap ~/.xmodmap_gmplayer | gmplayer"
m:0x0 + c:230
"xmodmap ~/.xmodmap_xmms | xmms"
m:0x0 + c:136
##################################
# End of xbindkeys configuration #
##################################
|
Maintenant c'est bon, vous pouvez faire la feignasse et ne plus vous lever de votre fauteuil..... 
Last edited by Antares on Fri Nov 04, 2005 11:04 pm; edited 2 times in total |
|
Back to top |
|
 |
dreamer86 Apprentice


Joined: 08 Aug 2004 Posts: 207 Location: Poitiers - France
|
Posted: Mon Aug 08, 2005 7:33 am Post subject: |
|
|
Tu aurais pas un howto pour l'ati remote avec lirc aussi ?  |
|
Back to top |
|
 |
anigel Bodhisattva


Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Mon Aug 08, 2005 9:34 am Post subject: |
|
|
dreamer86 wrote: | Tu aurais pas un howto pour l'ati remote avec lirc aussi ?  |
Si si, aussi : voir ce HOWTO ! _________________ Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres. |
|
Back to top |
|
 |
Antares Apprentice


Joined: 04 Apr 2005 Posts: 184 Location: France
|
Posted: Mon Aug 08, 2005 12:48 pm Post subject: |
|
|
l'interet de ma methode, c'est que la télécommande a une configuration différente pour chaque application (plus pratique quand on utilise pas freevo).... Je crois pas que ca fonctionne de la sorte avec lirc. |
|
Back to top |
|
 |
Antares Apprentice


Joined: 04 Apr 2005 Posts: 184 Location: France
|
Posted: Wed Oct 26, 2005 12:10 am Post subject: |
|
|
Ce Howto a été retranscris sur fr.gentoo-wiki.org  |
|
Back to top |
|
 |
bong Apprentice


Joined: 26 Oct 2004 Posts: 276 Location: Brest / Metz
|
Posted: Wed Oct 26, 2005 11:45 am Post subject: |
|
|
Juste une remarque,
ton fichier ~/.xmodmap_restore est quelque peux corrompu (doublons, etc..) donc si comme moi la premiere fois le mec qui suit ton how-to se contente d'un "copier/coller", il aura des surprises , tu devrais ajouter qu'on peut facilement en generer un de cette maniere:
Code: | $ xmodmap -pke > ~/.xmodmap_restore |
Evidement, cette commande doit etre tapée à partir d'un mapping vierge de toutes modifications... |
|
Back to top |
|
 |
Antares Apprentice


Joined: 04 Apr 2005 Posts: 184 Location: France
|
Posted: Wed Oct 26, 2005 12:12 pm Post subject: |
|
|
bizarre, j'ai mis le fichier que j'utilise et je n'ai aucun soucis...(note, j'ai un clavier completement normal, pas de touches spéciales etc..) ca se manifestait par quoi ton problème? |
|
Back to top |
|
 |
bong Apprentice


Joined: 26 Oct 2004 Posts: 276 Location: Brest / Metz
|
Posted: Wed Oct 26, 2005 1:35 pm Post subject: |
|
|
j'avais des problemes de caracteres en double, je me rappelle plus lesquels mais c'est pas important...
Par contre, tu devrais ajouter ajouter la commande ne serait-ce que pour ceux qui n'ont pas le meme mapping. |
|
Back to top |
|
 |
Antares Apprentice


Joined: 04 Apr 2005 Posts: 184 Location: France
|
Posted: Fri Nov 04, 2005 11:05 pm Post subject: |
|
|
voila c'est ajouté !! merci du coup de main |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|