Giter VIP home page Giter VIP logo

freemote's Introduction

Freemote

screenshots/about.png

Une (autre) application télécommande pour Freebox.

screenshots/application.png

Ecrite en Python3 et utilisant PyGobject, elle a l'intégration aux bureaux Linux (desktop) pour objectif.

Desktop intégration

  • intégration au menu de bureau

    screenshots/desktop.png

    Freemote s'est glissée dans la catégorie Son et vidéo.

  • icône de barre de notifications

    screenshots/status-bar-tooltip.png

    Note: un clic sur cette icône fait apparaître ou disparaître la télécommande.

  • menu de barre de notifications

    screenshots/status-icon-menu.png

    ...qui est identique au menu de l'application...

    screenshots/application-menu.png

Les captures présentées ci-dessus résultent d'une exécution de Freemote sur un bureau Cinnamon, avec les thèmes GNome, pour le bureau, et Adwaita-dark pour les outils.

Fonctionnalités

Dans un premier temps, la télécommande implémente l'API http historique de contrôle de la Freebox, apparue sur la version 5, toujours supportée par les boitiers Cristal et Révolution.

L'article, datant de 2010, "Comment créer une télécommande virtuelle pour la Freebox" d'UniversFreebox expose les bases de cette API.

Dans un soucis d'intégration à l'environnement d'un ordinateur personnel, Freemote, en plus d'offrir les capacités de clic de souris sur les boutons de la télécommande, offre la capacité d'interagir avec son clavier.

  • l'utilisation de la touche Control du clavier durant un clic permet d'émettre un appui long

  • le clavier permet, lui aussi, d'émettre des émissions d'appui.

    La combinaison Ctrl+<touche> permettant, là aussi, de produire un appui long.

    Dans ce contexte d'utilisation, la correspondance clavier-télécommande est la suivante:

    Clavier

    Télécommande

    0-9

    0-9

    Entrée/Retour

    OK

    <directions>

    <directions>

    +/-

    Volume +/-

    Page Up/Down

    Programme +/-

    Début de ligne

    Home (Free)

    S ou M

    Mute

    Point décimal

    Record

    P/N

    Arrière/Avance

    B/R/Y/G

    Blue/Red/Yellow/Green

    J/V

    Jaune/Vert

    Note: quand elle ne sont pas capturées par l'environnement de bureau, les touches Audio du clavier sont aussi redirigées vers la Freebox.

Installation

Deux cas d'usages d'installation sont possibles:

  1. installation simple utilisateur

    Les fichiers d'intégration au bureau que sont freemote.desktop et l'icône freemote.png doivent être accessibles dans les répertoires

    • ~/.local/share/applications

      pour freemote.desktop

    • ~/.local/share/icons

      pour freemote.png

    L'exécutable, freemote, doit être dans le PATH.

    Personnellement, j'adopte la politique suivante:

    1. je crée les répertoires locaux:

      $ mkdir -p ~/.local/bin ~/.local/share/{applications,icons}
      
    2. j'installe les données de l'application dans un répertoire dédié, ~/.local/share/freemote-<version>:

      $ cd ~/.local/share
      $ tar xzf ~/Téléchargements/freemote-<version>.tgz
      
    3. je crée les liens symboliques suivants:

      $ ln -s ~/.local/share/freemote-<version>/freemote/freemote ~/.local/bin
      $ ln -s ~/.local/share/freemote-<version>/freemote/freemote.desktop ~/.local/share/applications
      $ ln -s ~/.local/share/freemote-<version>/freemote/resources/freemote.png ~/.local/share/icons
      
    4. je rajoute dans mon PATH le répertoire : ~/.local/bin

      $ export PATH=${PATH}:~/.local/bin
      

      Note: cette adaptation du PATH est depuis loooongtemps dans mon fichier .bashrc

  2. installation globale sur le système

    La commande :

    # ./setup.py install
    

    installe ce qui est nécessaire en /usr/local/bin, /usr/local/share/{applications,icons}.

Dépendances

  • Python3 (>= 3.6.4)
  • Python3-GObject (>= 3.26.1)
    • GLib
    • Gio
    • Gdk-3.0
    • Gtk-3.0

Note: les versions de Python3 et de Python3-GObject ne sont données qu'à titre indicatif...

...ce sont les versions qui ont servi au test de l'application et ne correspondent pas à une sélection fonctionnelle.

Futur

  1. corriger les bugs

  2. finaliser les scripts d'installation done

  3. permettre l'envoi de séquences de touches en ligne commande pour de l'intégration domotique... done

    ...cas d'usage similaire au plugin Fibaro suivant.

  4. implémenter le support du nouveau protocole HID/rudp de la Freebox révolution décrit dans le SDK Freebox...

    ...probablement en utilisant le framework de MaximeCheramy/remotefreebox.

  5. exploiter le nouveau protocole pour rediriger Clavier et Souris du PC vers le contrôle de la box...

    ...par grab des devices.

freemote's People

Contributors

aauzi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.