Création de fichiers lircrc
Cette page montre comment créer des fichiers de configuration lircrc pour LIRC. La syntaxe des fichiers montrée ici est la plus simple possible (un bouton pour une action). Pour approfondir le sujet, on pourra se reporter au site officiel (en anglais) du projet LIRC (à la partie « The .lircrc file format »).
Utilité des fichiers lircrc
Les fichiers lircrc permettent de faire la liaison entre les boutons de la télécommande sur lesquelles on appuie et les actions dans les programmes. Ils sont donc indispensables pour utiliser une télécommande dans une application particulière.
Le fichier principal est ~/.lircrc
. Pour les applications, on écrit généralement un fichier que l'on met dans le répertoire de configuration dans le dossier personnel. Par exemple, pour MythTV, c'est le fichier ~/.mythtv/lircrc
. On peut lier le fichier principal aux fichiers des applications comme décrit dans le paragraphe Manuellement.
Création des fichiers lircrc
Il existe plusieurs façons de créer des fichiers lircrc. La plus simple est d'utiliser un script (paquet apt://mythbuntu-lirc-generator) écrit pour la distribution Mythbuntu se trouvant dans le dépôt universe, ce qui est le plus plus simple. On peut aussi créer les fichiers manuellement, ce qui est fastidieux. Il existe aussi des utilitaires pour LIRC pour le bureau KDE.
Avec mythbuntu-lirc-generator
Ce script permet de créer les fichiers lircrc pour six applications : MythTV, Xine, MPlayer, VLC, Totem et Elisa (aujourd'hui Moovida). Il crée les fichiers lircrc pour les six applications et met un lien vers chacun d'eux dans le fichier ~/.lircrc. Avant de l'utiliser, il faut avoir un fichier lircd.conf configuré pour la télécommande que l'on veut utiliser dans le répertoire /etc/lirc/. Il faut installer le paquet mythbuntu-lirc-generator, si ce n'est déjà fait, pour pouvoir utiliser le script. Le script s'utilise avec la commande suivante :
mythbuntu-lircrc-generator
Manuellement
La syntaxe pour les fichiers lircrc est très simple quand on veut simplement associer une action à un bouton. Il faut commencer son fichier par
begin PROGRAMME
et le terminer par
end PROGRAMME
en remplaçant PROGRAMME
par le nom du programme voulu.
PROGRAMME
par desktop
.
Entre les lignes évoquées dans le paragraphe précédent, il faut utiliser le motif suivant pour chaque bouton :
begin prog = PROGRAMME button = BOUTON config = ACTION end
PROGRAMME
désigne le programme qui va utiliser le bouton. On utilisera, par exemple, mythtv pour MythTV. BOUTON
désigne le nom du bouton qui se trouve dans le fichier /etc/lirc/lircd.conf
. Enfin, ACTION
correspond à l'action qui sera lancée.
PROGRAMME
, on peut déclencher une action quelconque comme lancer un programme. Cela nécessite de lancer le démon de irexec avec la commande suivante :
irexec -d
À titre d'exemple, on pourra regarder deux fichiers lircrc pour le bureau et pour MPlayer.
Depuis le fichier principal (~/.lircrc
), il peut être utile de faire des liaisons vers des fichiers lircrc pour des applications spécifiques. Par exemple, pour le fichier lircrc de MythTV (~/.mythtv/lircrc
), il faut ajouter la ligne
include ~/.mythtv/lircrc
Avec un utilitaire pour le bureau KDE
Cet utilitaire permet de créer des fichiers de configuration pour des applications de KDE. Pour installer cet utilitaire, il faut installer les paquets lirc-x et kdelirc 1) :
sudo apt-get install lirc-x kdelirc
Pour le lancer, il faut utiliser l'entrée « IRKick » du menu « Utilitaires » ou bien par la commande suivante :
irkick
Exemples de fichiers lircrc pour les principales applications multimédia
VLC
## VLC ## begin prog = vlc button = play config = key-play repeat=32 end begin prog = vlc button = pause config = key-play-pause end begin prog = vlc button = stop config = key-stop end begin prog = vlc button = power config = key-quit repeat=1 end begin prog = vlc button = chan-up config = key-next end begin prog = vlc button = chan-down config = key-prev end begin prog = vlc button = max_window config = key-toggle-fullscreen end begin prog = vlc button = rewind config = key-slower end begin prog = vlc button = forward config = key-faster end #Audio controls begin prog = vlc button = vol-down config = key-vol-down repeat=0 end begin prog = vlc button = vol-up config = key-vol-up repeat=0 end begin prog = vlc button = mute config = key-vol-mute end #For dvd navigation begin prog = vlc button = 4 config = key-nav-left end begin prog = vlc button = 8 config = key-nav-down end begin prog = vlc button = 2 config = key-nav-up end begin prog = vlc button = 6 config = key-nav-right end begin prog = vlc button = 5 config = key-nav-activate end begin prog = vlc button = source config = key-disc-menu end
vlc -H --advanced 2>&1 |sed -n '/--key/ {s/^\ *--//; s/^\(.*\) <[^>]*>\ *\(.*\)$/\2 -> \1/; h}; /^.*[^ ].*-> key/ p; /^ -> key/ { n; s/^[ \t\n]*//M; G; s/\n//; p}'
Totem
## Totem ## begin totem begin prog = Totem button = power config = quit end begin prog = Totem button = play config = play end begin prog = Totem button = pause repeat = 0 config = pause end begin prog = Totem button = stop config = pause repeat = 0 end begin prog = Totem button = chan-up config = next repeat = 1 end begin prog = Totem button = chan-down config = previous repeat = 1 end begin prog = Totem button = forward config = seek_forward repeat = 1 end begin prog = Totem button = rewind config = seek_backward repeat = 1 end begin prog = Totem button = vol-up config = volume_up repeat = 1 end begin prog = Totem button = vol-down config = volume_down repeat = 1 end begin prog = Totem button = max-window config = fullscreen repeat = 1 end end totem
TVTime
## TVTIME ## begin prog = irexec button = POWER config = tvtime-command QUIT end begin prog = irexec button = E config = tvtime-command TOGGLE_INPUT end begin prog = irexec button = launch_setup config = tvtime-command DISPLAY_INFO end begin prog = irexec button = MAXIMIZE config = tvtime-command TOGGLE_FULLSCREEN end begin prog = irexec button = MUTE config = tvtime-command TOGGLE_MUTE end begin prog = irexec button = UP config = tvtime-command UP end begin prog = irexec button = DOWN config = tvtime-command DOWN end begin prog = irexec button = RIGHT config = tvtime-command RIGHT end begin prog = irexec button = LEFT config = tvtime-command LEFT end begin prog = irexec button = vol-up config = tvtime-command MIXER_UP repeat = 1 end begin prog = irexec button = vol-down config = tvtime-command MIXER_DOWN repeat = 1 end begin prog = irexec button = chan-up config = tvtime-command CHANNEL_UP end begin prog = irexec button = chan-down config = tvtime-command CHANNEL_DOWN end begin prog = irexec button = dvd-root_menu config = tvtime-command CHANNEL_JUMP end begin prog = irexec button = 1 config = tvtime-command CHANNEL_1 end begin prog = irexec button = 2 config = tvtime-command CHANNEL_2 end begin prog = irexec button = 3 config = tvtime-command CHANNEL_3 end begin prog = irexec button = 4 config = tvtime-command CHANNEL_4 end begin prog = irexec button = 5 config = tvtime-command CHANNEL_5 end begin prog = irexec button = 6 config = tvtime-command CHANNEL_6 end begin prog = irexec button = 7 config = tvtime-command CHANNEL_7 end begin prog = irexec button = 8 config = tvtime-command CHANNEL_8 end begin prog = irexec button = 9 config = tvtime-command CHANNEL_9 end begin prog = irexec button = 0 config = tvtime-command CHANNEL_0 end begin prog = irexec button = OK config = tvtime-command ENTER end
Kaffeine
## KAFFEINE ## begin prog = irexec button = play config = dcop kaffeine KaffeineIface playDvb end begin prog = irexec button = pause config = dcop kaffeine KaffeineIface pause end begin prog = irexec button = ok config = dcop kaffeine KaffeineIface dvbOSD end begin prog = irexec button = stop config = dcop kaffeine KaffeineIface stop end begin prog = irexec button = forward config = dcop kaffeine KaffeineIface posPlus end begin prog = irexec button = rewind config = dcop kaffeine KaffeineIface posMinus end begin prog = irexec button = chan-up config = dcop kaffeine KaffeineIface next end begin prog = irexec button = chan-down config = dcop kaffeine KaffeineIface previous end begin prog = irexec button = power config = dcop kaffeine KaffeineIface quit end begin prog = irexec button = vol-up config = dcop kaffeine KaffeineIface volUp end begin prog = irexec button = mute config = dcop kaffeine KaffeineIface mute end begin prog = irexec button = vol-down config = dcop kaffeine KaffeineIface volDown end begin prog = irexec button = max_window config = dcop kaffeine KaffeineIface fullscreen end begin prog = irexec button = up config = dcop kaffeine KaffeineIface zoomIn end begin prog = irexec button = down config = dcop kaffeine KaffeineIface zoomOut end begin prog = irexec button = 1 config = dcop kaffeine KaffeineIface setNumber 1 repeat = 0 end begin prog = irexec button = 2 config = dcop kaffeine KaffeineIface setNumber 2 repeat = 0 end begin prog = irexec button = 3 config = dcop kaffeine KaffeineIface setNumber 3 repeat = 0 end begin prog = irexec button = 4 config = dcop kaffeine KaffeineIface setNumber 4 repeat = 0 end begin prog = irexec button = 5 config = dcop kaffeine KaffeineIface setNumber 5 repeat = 0 end begin prog = irexec button = 6 config = dcop kaffeine KaffeineIface setNumber 6 repeat = 0 end begin prog = irexec button = 7 config = dcop kaffeine KaffeineIface setNumber 7 repeat = 0 end begin prog = irexec button = 8 config = dcop kaffeine KaffeineIface setNumber 8 repeat = 0 end begin prog = irexec button = 9 config = dcop kaffeine KaffeineIface setNumber 9 repeat = 0 end begin prog = irexec button = 0 config = dcop kaffeine KaffeineIface setNumber 0 repeat = 0 end
Amarok
#amarok begin prog = irexec button = menu config = amarok end begin prog = irexec button = power config = dcop amarok MainApplication-Interface quit end begin prog = irexec button = play config = dcop amarok player play end begin prog = irexec button = forward config = dcop amarok player seekRelative 10 end begin prog = irexec button = rewind config = dcop amarok player seekRelative -5 end begin prog = irexec button = pause config = dcop amarok player pause end begin prog = irexec button = stop config = dcop amarok player stop end begin prog = irexec button = next config = dcop amarok player next end begin prog = irexec button = last config = dcop amarok player prev end begin prog = irexec button = chup config = dcop amarok player next end begin prog = irexec button = chdown config = dcop amarok player prev end begin prog = irexec button = volup config = dcop amarok player volumeUp end begin prog = irexec button = mute config = dcop amarok player mute end begin prog = irexec button = voldown config = dcop amarok player volumeDown end begin prog = irexec button = epg config = dcop amarok playlist togglePlaylist end begin prog = irexec button = chrtn config = toggleRandomAmarok end begin prog = irexec button = max_window config = dcop amarok player showOSD end
MPlayer
# Mplayer begin button = vol-up prog = mplayer config = volume 10 repeat = 5 end begin button = vol-down prog = mplayer config = volume -10 repeat = 5 end begin button = mute prog = mplayer config = mute end begin button = pause prog = mplayer config = pause end begin button = play prog = mplayer config = pause end begin button = stop prog = mplayer config = seek 0 1\npause end begin button = power prog = mplayer config = quit end begin button = max_window prog = mplayer config = vo_fullscreen end begin button = record prog = mplayer config = osd end begin button = forward prog = mplayer config = seek 5 end begin button = rewind prog = mplayer config = seek -5 end begin button = right prog = mplayer config = seek 60 end begin button = left prog = mplayer config = seek -60 end begin button = up prog = mplayer config = seek 600 end begin button = down prog = mplayer config = seek -600 end begin button = chan-up prog = mplayer config = pt_step 1 end begin button = chan-down prog = mplayer config = pt_step -1 end
Elisa
~/.elisa/lircrc
. Il faut également modifier le fichier ~/.elisa/elisa.conf
en remplaçant lirc_rc
par lircrc
.
# Elisa begin prog = elisa button = power config = close_key end begin prog = elisa button = up config = move_up_key repeat = 1 end begin prog = elisa button = down config = move_down_key repeat = 1 end begin prog = elisa button = left config = move_left_key repeat = 1 end begin prog = elisa button = right config = move_right_key repeat = 1 end begin prog = elisa button = ok config = activate_key end begin prog = elisa button = tv_on_demand config = toggle_menu_key end begin prog = elisa button = play config = toggle_play_pause_key end begin prog = elisa button = PAUSE config = pause_key end begin prog = elisa button = stop config = stop_key end begin prog = elisa button = forward config = increment_playback_speed_key repeat = 1 end begin prog = elisa button = rewind config = decrement_playback_speed_key repeat = 1 end begin prog = elisa button = f config = seek_forward_key end begin prog = elisa button = e config = seek_backward_key end begin prog = elisa button = max_window config = toggle_fullscreen_key end begin prog = elisa button = mute config = toggle_mute_key end begin prog = elisa button = vol-up config = increment_volume_key repeat = 1 end begin prog = elisa button = vol-down config = decrement_volume_key repeat = 1 end
Script externe
#Ce fichier est censé permettre de lancer des scriptes externes : ici, des scripts placés dans un dossier « .compiz » dans « ~/.lirc » #et qui permettent de faire tourner le cube de bureau compiz grâce à wmctrl. Les scripts contiennent un script formé dans cette syntaxe : #wmctrl -o 0,0 (pour le premier bureau) #wmctrl -o largeur_de_l_ecran_en_pixel,0 #wmctrl -o deux_fois_la_largeur_de_lecran_en_pixels,0 #etc... begin prog = irexec button = One config = /usr/bin/1.sh & end begin prog = irexec button = Two config = /usr/bin/2.sh & end begin prog = irexec button = Three config = /usr/bin/3.sh & end begin prog = irexec button = Four config = /usr/bin/4.sh & end
irexec
dans vos applications au démarrage. Sinon, les scripts ne se lanceront pas. Veillez aussi à vérifier les permissions des fichiers appelés par ce fichier de configuration. Ils doivent êtres exécutables et appartenir à l'utilisateur et au groupe de l'utilisateur. Sinon, rien ne se passera non plus. Il est conseillé de mettre les scipts appelés dans /usr/bin
(c'est là que les exécutables se trouvent par defaut sur Ubuntu. Ça vous permettra aussi, pendant les tests, de ne pas avoir à taper le chemin entier mais seulement 1.sh
dans votre invite de commandes.
Utiliser le clavier numérique de la télécommande pour taper des lettres
Ce fichier de configuration, à modifier en fonction de votre matériel grâce à cette documentation, annonce un mode « backspace » avec cette ligne :
begin backspace
puis la termine avec celle ci.
end backspace
Le mode est ensuite appelé à chaque fois que vous appuyez sur une touche numérique grâce à cette ligne :
mode = backspace
Pour l'instant, par exemple, pour écrire « le », il faut taper trois fois sur la touche 5 puis sur la touche 0 (espace) et enfin deux fois sur la touche 3. De la même façon, pour écrire « l e », il faut taper trois fois sur la touche 5 puis deux fois sur la touche 0 (espace) et enfin deux fois sur la touche 3. Si vous voulez vous y pencher, éditez le fichier.
begin backspace begin button = Two prog = irxevent config = Key BackSpace CurrentWindow end begin button = Three prog = irxevent config = Key BackSpace CurrentWindow end begin button = Four prog = irxevent config = Key BackSpace CurrentWindow end begin button = Five prog = irxevent config = Key BackSpace CurrentWindow end begin button = Six prog = irxevent config = Key BackSpace CurrentWindow end begin button = Seven prog = irxevent config = Key BackSpace CurrentWindow end begin button = Eight prog = irxevent config = Key BackSpace CurrentWindow end begin button = Nine prog = irxevent config = Key BackSpace CurrentWindow end end backspace begin button = Two prog = irxevent config = Key a CurrentWindow config = Key b CurrentWindow config = Key c CurrentWindow flags = quit mode = backspace end begin button = Three prog = irxevent config = Key d CurrentWindow config = Key e CurrentWindow config = Key f CurrentWindow mode = backspace flags = toggle_reset end begin button = Four prog = irxevent config = Key g CurrentWindow config = Key h CurrentWindow config = Key i CurrentWindow mode = backspace flags = toggle_reset end begin button = Five prog = irxevent config = Key j CurrentWindow config = Key k CurrentWindow config = Key l CurrentWindow mode = backspace flags = toggle_reset end begin button = Six prog = irxevent config = Key m CurrentWindow config = Key n CurrentWindow config = Key o CurrentWindow mode = backspace flags = toggle_reset end begin button = Seven prog = irxevent config = Key p CurrentWindow config = Key q CurrentWindow config = Key r CurrentWindow config = Key s CurrentWindow mode = backspace flags = toggle_reset flags = toggle_reset end begin button = Eight prog = irxevent config = Key t CurrentWindow config = Key u CurrentWindow config = Key v CurrentWindow mode = backspace flags = toggle_reset end begin button = Nine prog = irxevent config = Key w CurrentWindow config = Key x CurrentWindow config = Key y CurrentWindow config = Key z CurrentWindow flags = toggle_reset mode = backspace end begin button = Zero prog = irxevent config = Key space CurrentWindow end begin button = One prog = irxevent config = Key BackSpace CurrentWindow mode = backspace flags = toggle_reset end
Contributeurs : Julius22 et moebius_eye
Sources :
kdelirc
n'est pas disponible dans les dépôts de Jaunty 9.04