Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est en cours de rédaction.
Apportez votre aide…

Télécommande Bluetooth à l'aide de son téléphone

But de ce tuto : utilisez votre téléphone Sony Ericsson bluetooth comme télécommande pour votre PC. Ceci marche à merveille pour tous les téléphones Sony Ericsson testés jusqu'à présent.

Téléphones testés

N'hésitez pas à éditer cette partie pour y laisser votre modèle.

C702, C902, G502, K320i, K53Oi, K550i, K610i, K700i, K750i, K770i, K800i, S500i, V600i, V630i, V640i, V800, W300i, W550i, W580i, W595, W595s, W610i, W660i, W800i, W810i, W850i, W880i, W910i, Z520i, Z530i

Téléphones testés qui marchent partiellement

- K810i (La souris ne marche pas)

Pré-requis

Voici la liste des pré-requis :

  • Le support Bluetooth sur le téléphone
  • Le support Bluetooth pour Ubuntu

Configuration

Avec Ubuntu 8.04 et suivants

Sous Kde4 et Hardy le paquet Kdebluetooth gère cet outil sans problème (SE750i)(de Kikibelux)

FIXME à compléter

Avec Ubuntu 7.10

  • Clic droit sur l'icône bluetooth dans la zone de notification → Préférences.

  • on rend visible l'ordi

  • on apparie le téléphone et l'ordi à partir du téléphone : Menu → Réglages → Connectivité → Bluetooth → Mes périphériques → Nouveau périph.

on tape le même code pin que celui définit dans /etc/bluetooth/hcid.conf (au passage, vérifiez qu'il y a bien "security auto" dans ce même fichier)

  • la zone de notification va vous avertir quand le téléphone se connecte.

  • on définit le téléphone comme « de confiance »

  • vérifiez que l'option « input service » est bien cochée, vous devez également ajouter un input device, cliquez sur input device et sur le bouton ajouter qui s'affichera à ce moment là. Puis attendez de voir votre téléphone (il faut que bluetooth soit activé) et sélectionnez le.

  • et que votre ordinateur autorise automatiquement les demandes.

  • désormais il vous suffit de prendre votre téléphone et d'aller dans Menu → Loisirs → télécommande pour profiter de ce service :)

Avec Ubuntu 6.06

Méthode 1

Éditer le fichier /etc/default/bluetooth et modifiez le pour avoir :

HIDD_ENABLED=1

Puis redémarrer le service bluetooth via cette commande :

sudo /etc/init.d/bluetooth restart

Pour aller plus loin et rendre le PC connectable dès le démarrage : http://forum.ubuntu-fr.org/viewtopic.php?pid=1071937#p1071937

Méthode2

Créez un nouveau fichier qui sera l'appel du PC pour une télécommande distante, en effet pour que ça marche c'est le PC qui doit demander la commande distante. Copiez/collez ce script où vous voulez, et donnez lui les droits d'exécution pour pouvoir le lancer en double cliquant dessus (clic droit → propriétés → permissions → autoriser l'exécution) :

#!/bin/bash
device=$(hcitool scan | tail -n +2 | while read line
do
  echo -n "$line" | sed -r "s/\s*([0-9A-Fa-f:]+)\s*(.*)/\1\n\2\n/"
done | zenity --list \
              --title "Télécommande Bluetooth" \
              --text "Choisissez un périphérique (veuillez patienter durant la détection...)" \
              --column "id" --column "device")
 
gksudo -- hidd --connect $device

Pour toute question sur ce script : http://forum.ubuntu-fr.org/viewtopic.php?id=84359

Avant tout, si cela n'est pas déjà fait, installer le paquet zenity qui va vous permettre de visualiser la fenêtre du choix des appareils bluetooth.

Démarrez le bluetooth sur votre téléphone (visibilité du téléphone obligatoire), lancez le script, attendez que votre téléphone apparaisse dans la liste.

Sélectionnez votre téléphone, entrez le mot de passe administrateur et si tout marche miracle le PC demande au téléphone la commande distante.

Si vous utilisez KDE, remplacez "gksudo" de la dernière ligne par "kdesu"

Configuration des touches

Alors maintenant que tout marche, vous pouvez utiliser le pad du téléphone pour diriger la souris, mais la plupart des raccourcis définis sur le téléphone ne marchent pas … Nous allons voir comment se configurer les touches aux petits oignons.

Utilisez un fichier « .hid »

Qu'est-ce qu'un fichier « .hid » ?

Les fichiers hid sont des archives tar contenant une sorte de XML made in sony ericsson, ainsi qu'une image png. Vous pouvez donc les traiter comme des archives tar avec File Roller. Étudions ce pseudo XML (.kcf) de plus près.

Quelques fichiers HID utiles

Installation d'un fichier hid

Envoyez ce fichier sur votre téléphone, par le bluetooth.

utilisant la première méthode: Via Clic-droit sur le fichier → Envoyer à …

Créer son propre fichier « .hid »

Voici l'*.exe permettant la création facile de *.hid : bluetooth remote control

Le format kcf

Voici un fichier que je me suis fait pour VLC et que j'ai nommé VlcMediaPlayer.kcf

<SONY_ERICSSON_REMOTE_CONTROL_CONFIGURATION
  VERSION = "1.0">
  <KEYMAP>
    <KEY_1>
      <ACTION>
        <KEYBOARD MODIFIERS = "01" USAGEID = "50"/>
        <!-- JUMP BACK - (Ctrl + Left) -->
      </ACTION>
    </KEY_1>
    <KEY_2>
      <ACTION>
        <KEYBOARD MODIFIERS = "00" USAGEID = "2C"/>
        <!-- PLAY/PAUSE - Space -->
      </ACTION>
    </KEY_2>
    <KEY_3>
      <ACTION>
        <KEYBOARD MODIFIERS = "01" USAGEID = "4F"/>
        <!-- JUMP FORWARD - (Ctrl + right) -->
      </ACTION>
    </KEY_3>
    <KEY_4>
      <ACTION>
        <KEYBOARD MODIFIERS = "00" USAGEID = "13"/>
        <!-- PREV - (p) -->
      </ACTION>
    </KEY_4>
    <KEY_5>
      <ACTION>
        <KEYBOARD MODIFIERS = "00" USAGEID = "16"/>
        <!-- STOP - (s)-->
      </ACTION>
    </KEY_5>
    <KEY_6>
      <ACTION>
        <KEYBOARD MODIFIERS = "00" USAGEID = "11"/>
        <!-- NEXT - (n) -->
      </ACTION>
    </KEY_6>
    <KEY_7>
      <ACTION>
        <KEYBOARD MODIFIERS = "00" USAGEID = "10"/>
        <!-- MUTE - (m) -->
      </ACTION>
    </KEY_7>
    <KEY_VOL_UP>
      <ACTION>
        <KEYBOARD MODIFIERS = "01" USAGEID = "52"/>
        <!-- VOL UP - (Ctrl + Up) -->
      </ACTION>
    </KEY_VOL_UP>
    <KEY_VOL_DOWN>
      <ACTION>
        <KEYBOARD MODIFIERS = "01" USAGEID = "51"/>
        <!-- VOL DOWN - (Ctrl + Down) -->
      </ACTION>
    </KEY_VOL_DOWN>
  </KEYMAP>
</SONY_ERICSSON_REMOTE_CONTROL_CONFIGURATION>

Comprendre comment ça marche

C'est pas difficile :

  • Vous avez des balises KEY_foo qui représentent chaque touche.
<KEY_VOL_DOWN>
...
</KEY_VOL_DOWN>

Ici, c'est donc la touche qui baisse le volume (sur le côté du téléphone).

  • À l'intérieur des balises de touche, les balises ACTION permettent de déterminer ce qui est fait lorsqu'on presse la touche.
  <ACTION>
  ...
  </ACTION>
  • Enfin, encore à l'intérieur, vous définissez à quelle combinaison de touches correspond la touche du téléphone.
    <KEYBOARD MODIFIERS = "01" USAGEID = "51"/>
    <!-- VOL DOWN - (Ctrl + Down) -->
  • KEYBOARD MODIFIERS (ici 01) est appelé le modificateur. Les modificateurs sont les touches de type Ctrl, Alt, Shift. Sachez que 01 correspond au modificateur Ctrl
  • USAGEID (ici 51) est la touche concernée. La touche 51 de l'exemple correspond à "flèche bas" sur votre clavier.
  • <!– VOL DOWN - (Ctrl + Down) –> est un commentaire pour le lecteur.

Vous vous en doutiez, la combinaison de touche correspond donc à Ctrl + flèche bas.

Autrement dit, Si l'on reprend l'exemple décortiqué :

<KEY_VOL_DOWN>
  <ACTION>
    <KEYBOARD MODIFIERS = "01" USAGEID = "51"/>
    <!-- VOL DOWN - (Ctrl + Down) -->
  </ACTION>
</KEY_VOL_DOWN>

On vient d'écrire que lorqu'on va presser le bouton VOL DOWN du téléphone (sur le côté, la touche pour baisser le son), celui-ci doit envoyer à l'ordinateur l'ordre d'effectuer la combinaison de touche Ctrl+flèche bas. (Pour ceux qui ne connaissaient pas c'est le raccourci clavier de VLC pour baisser le son. Comme quoi, je suis assez logique comme garçon…)

Correspondances des touches

  • Les Modificateurs

Les modificateurs (qui sont donc les touches Ctrl, Alt, Shift) sont un masque de valeurs prises une à une. Autrement dit, pour ceux qui n'y comprennent rien, il suffit de les additionner pour obtenir le code voulu. Ex: Ctrl vaut 1, Shift vaut 2, donc Shift+Ctrl = 3… (0 pour n'avoir aucun modificateur)
Voici un petit tableau de correspondance :

Rien00
Ctrl01
Shift02
Alt04
  • Les autres touches

Ce document PDF donne, page 53, colonne USAGE ID, un tableau des correspondances entre les touches et leurs codes hexadécimaux (attention, il se base sur un clavier QWERTY).

L'image à mettre à côté

C'est un fichier png banal qui est affiché sur le téléphone afin de se souvenir des raccourcis définis. C'est donc juste pour vous servir de mémo. Pour l'exemple précédent :

Les seules obligations vis à vis de ce fichier sont :

  • être au format png ;
  • Ne pas dépasser la résolution de votre téléphone portable.

Je vous conseille de reprendre une image existante et de la modifier plutôt que de partir de rien. Après avoir tout bien mis dans votre fichier hid, puis sur votre téléphone, votre téléphone affichera cette image sur l'écran chaque fois que vous utiliserez ce mode de télécommande. Vous pouvez vraiment mettre n'importe quelle image, ça ne change rien au fonctionnement réel des touches.

Utiliser son fichier hid

  • Servez-vous des explications ci-dessus pour taper votre fichier de config .kcf ;
  • Faites vous une image png qui lui correspond (vous pouvez reprendre une image qui existe déjà) ;
  • Mettez le tout dans un dossier
  • Compressez ce dossier avec avec file-roller au format .tar ;
  • Renommez l'extension du fichier obtenu en .hid ;
  • Envoyez ce fichier sur votre téléphone, par le bluetooth.

Plus loin grâce à xbindkeys

C'est bien beau de définir des commandes clavier à faire envoyer par votre téléphone, mais si il n'existe pas de raccourci clavier pour l'action que vous voulez faire exécuter? Eh bien grâce à xbindkeys, il suffit de l'inventer! Vous ne connaissiez pas? Vous auriez tort, c'est un logiciel sous linux qui permet de définir des raccourcis claviers très facilement. Regardez de ce côté pour pouvoir utiliser ce que vous voulez via votre télécommande ! Voici un lien pour ceux que ça intéresse…

Problèmes communs

#Si vous avez un problème avec la synchronisation entre la télécommande et l'ordinateur (le code), faite comme ceci:

  • Coupez le bluetooth via
sudo /etc/init.d/bluetooth stop
security user;

en

security auto;

c'est le seul moyen que j'ai trouvé d'appairer le téléphone avec le PC

  • Relancez le bluetooth
sudo /etc/init.d/bluetooth start

Pages en rapport


Contributeurs : gigigan _CHEZ_ gmail _POINT_ com http://jerome.phplister2.org/.// Sholos@live.fr [fyte_gurgur@hotmail.fr]



Le contenu de ce wiki est sous licence : CC BY-SA v3.0