Présentation

Le Neo Freerunner est le premier téléphone mobile Libre du monde. Tout à chacun peut obtenir les plans de fabrication, le code source du système d’exploitation et de l’ensemble des applications. Pour notre plus grand bonheur donc !

Bien que je présente l’OpenMoko dans un article du BlankoJoueb, voici un petit aperçu de la bête :

Neo Freerunner

Mon opinion

Je suggère une séparation par les PLUS et les MOINS :

PLUS

MOINS

Connecter l’OpenMoko à l’ordinateur

Via USB

Sur l’ordinateur :

sudo ifconfig usb0 up
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0

Via Wifi (sur réseau ouvert)

Votre ordinateur doit être connecté au même réseau Wifi et/ou au réseau local où vous vous situez.

Sur l’OpenMoko, ouvrir une console et faire :

Réseau ouvert

Le nom du réseau ici se nommera RESEAU.

ifconfig eth0 up
iwconfig eth0 essid RESEAU ap any
dhclient eth0

Réseau WEP

Le nom du réseau est WEPNET, sur le canal 11, la clé WEP est C88D85F9A2.

ifconfig eth0 up
iwconfig eth0 essid WEPNET channel 11 key open C88D85F9A2 ap any
dhclient eth0

Obtenir la connexion internet

sudo echo 1 > /proc/sys/net/ipv4/ip_forward
net.ipv4.ip_forward=1

Sous Debian vous pouvez utiliser la commande suivante (merci à Alexandre FRANKE pour cette remarque) :

sudo sysctl -w net.ipv4.ip_forward=1

Sur l’ordinateur, il faut activer le routage sur le périphérique eth0 qui est celui qui reçoit la connexion internet :

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

Si vous voulez automatiser la tâche, il faut ajouter la commande dans un script.

sudo echo "iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE" >> /etc/rc.local

Clavier

Le clavier fourni dans la version de base du Neo Freerunner n’est pas particulièrement plaisante, il vaut mieux en changer.

Installer le clavier matchbox-keyboard

J’ai opté pour le matchbox-keyboard qui est très utile, bien moins ennuyeux que l’interface “sms” et qui a l’avantage de pouvoir faire des / (barre oblique) mais aussi de perdre moins de temps à taper plusieurs fois sur une touche avant d’avoir le bon caractères… nous avons donc plus de caractères. Attention cependant, cela requiert l’utilisation d’un stylet, les touches étant trop petites pour la pression d’un ou plusieurs doigts.

opkg update
opkg install matchbox-keyboard-inputmethod
opkg install matchbox-keyboard-im
opkg install matchbox-keyboard-applet
#!/bin/sh
SHOWCURSOR="no"

openmoko-today &
phone-kit &

matchbox-window-manager -use_titlebar yes -use_desktop_mode decorated -theme Moko -use_cursor $SHOWCURSOR $@ &

matchbox-panel-2 --start-applets systray,startup --end-applets openmoko-panel-clock,keyboard,openmoko-panel-battery,openmoko-panel-gsm,openmoko-panel-gps,openmoko-panel-usb

exec neod

J’ai donc ajouté dans mon fichier les mots suivants : openmoko-panel-clock,keyboard,. Tout simplement.

Après redémarrage de votre téléphone, l’heure (à droite) et le clavier (sur la gauche de l’indication horaire) devraient apparaître sous forme d’icône.

matchbox-keyboard en français

Maintenant que nous avons un clavier pour notre Neo Freeruner, tentons de le franciser !

<?xml version="1.0" encoding="UTF-8"?>
<keyboard>

<!--

 FR keyboard layout by Olivier Dossmann <olivier@dossmann.net>

-->

<options>
<!-- not yet implemented -->
</options>

<layout id="default keyboard">

<!--
  <row>
    <key>
        <default display="ヂ" />
    </key>
    <key>
        <default display="Ӫ" />
    </key>
    <key width="1500">
        <default display="Ω" />
    </key>
    <space width="1500" />
    <key fill="true">
        <default display="⠿" />
    </key>
  </row>
-->

  <row>
    <space width="500" extended="true"/>

    <key fill="true">
        <default display="Échap" action="escape" />
    </key>
    <key>
        <default display="œ" />
        <shifted display="Œ" />
    </key>
    <key>
        <default display="&amp;" />
        <shifted display="1" />
    </key>
    <key>
        <default display="é" />
        <shifted display='2' />
        <mod1    display="~" />
    </key>
    <key>
        <default display='"' />
        <shifted display="3" />
        <mod1    display="#" />
    </key>
    <key>
        <default display="'" />
        <shifted display="4" />
        <mod1    display="{" />
    </key>
    <key>
        <default display="(" />
        <shifted display="5" />
        <mod1    display="[" />
    </key>
    <key>
        <default display="-" />
        <shifted display="6" />
        <mod1    display="|" />
    </key>
    <key>
        <default display="è" />
        <shifted display="7" />
        <mod1    display="`" />
    </key>
    <key>
        <default display="_" />
        <shifted display="8" />
        <mod1    display="<br/>" />
    </key>
    <key>
        <default display="ç" />
        <shifted display="9" />
        <mod1    display="^" />
    </key>
    <key>
        <default display="à" />
        <shifted display="0" />
        <mod1    display="@" />
    </key>
    <key>
        <default display=")" />
        <shifted display="°" />
        <mod1    display="]" />
    </key>
    <key>
        <default display="=" />
        <shifted display="+" />
        <mod1    display="}" />
    </key>

    <key fill="true">
        <default display="Ret" action="backspace"/>
    </key>

    <space width="500" extended="true"/>

    <key width="4000"  extended="true">
        <default display="Home" action="home"/>
    </key>
    <key width="4000"  extended="true">
        <default display="PgPréc" action="pageup"/>
    </key>

    <space width="500" extended="true"/>
  </row>

  <row>
    <space width="500" extended="true"/>

    <key fill="true">
        <default display="Tab" action="tab"/>
    </key>
    <key obey-caps='true'>
        <default display="a" />
        <shifted display="A" />
        <mod1    display="â" />
    </key>
    <key obey-caps='true'>
        <default display="z" />
        <shifted display="Z" />
        <mod1    display="å" />
    </key>
    <key obey-caps='true'>
        <default display="e" />
        <shifted display="E" />
        <mod1    display="€" />
    </key>
    <key obey-caps='true'>
        <default display="r" />
        <shifted display="R" />
        <mod1    display="ç" />
    </key>
    <key obey-caps='true'>
        <default display="t" />
        <shifted display="T" />
        <mod1    display="þ" />
    </key>
    <key obey-caps='true'>
        <default display="y" />
        <shifted display="Y" />
        <mod1    display="ý" />
    </key>
    <key obey-caps='true'>
        <default display="u" />
        <shifted display="U" />
        <mod1    display="û" />
    </key>
    <key obey-caps='true'>
        <default display="i" />
        <shifted display="I" />
        <mod1    display="î" />
    </key>
    <key obey-caps='true'>
        <default display="o" />
        <shifted display="O" />
        <mod1    display="ô" />
    </key>
    <key obey-caps='true'>
        <default display="p" />
        <shifted display="P" />
        <mod1    display="¶" />
    </key>
    <key>
        <default display="^" />
    </key>
    <key>
        <default display="$" />
        <shifted display="£" />
        <mod1    display="ê" />
    </key>
    <key fill="true">
        <default display="Entrée" />
    </key>

    <space width="500" extended="true"/>

    <key width="4000"  extended="true">
        <default display="Fin" action="end"/>
    </key>
    <key width="4000"  extended="true">
        <default display="PgSuiv" action="pagedown"/>
    </key>

    <space width="500" extended="true"/>
  </row>

  <row>
    <space width="500" extended="true"/>

    <key fill="true">
        <default display="Maj." action="modifier:caps"/>
    </key>
    <key obey-caps='true'>
        <default display="q" />
        <shifted display="Q" />
        <mod1    display="Â" />
    </key>
    <key obey-caps='true'>
        <default display="s" />
        <shifted display="S" />
        <mod1    display="ø" />
    </key>
    <key obey-caps='true'>
        <default display="d" />
        <shifted display="D" />
        <mod1    display="Ê" />
    </key>
    <key obey-caps='true'>
        <default display="f" />
        <shifted display="F" />
        <mod1    display="±" />
    </key>
    <key obey-caps='true'>
        <default display="g" />
        <shifted display="G" />
        <mod1    display="æ" />
    </key>
    <key obey-caps='true'>
        <default display="h" />
        <shifted display="H" />
        <mod1    display="ð" />
    </key>
    <key obey-caps='true'>
        <default display="j" />
        <shifted display="J" />
        <mod1    display="Û" />
    </key>
    <key obey-caps='true'>
        <default display="k" />
        <shifted display="K" />
        <mod1    display="Î" />
    </key>
    <key obey-caps='true'>
        <default display="l" />
        <shifted display="L" />
        <mod1    display="Ô" />
    </key>
    <key>
        <default display="m" />
        <shifted display="M" />
        <mod1    display="¹" />
    </key>
    <key>
        <default display="ù" />
        <shifted display="%" />
        <mod1    display="²" />
    </key>
    <key>
        <default display="*" />
        <shifted display="µ" />
        <mod1    display="³" />
    </key>

    <key fill="true">
        <default display="Entrée" action="return"/>
    </key>

    <space width="500" extended="true"/>

    <space width="4000"  extended="true" />

    <space width="4000"  extended="true" />

    <space width="500" extended="true"/>


  </row>

  <row>

    <space width="500" extended="true"/>

    <key fill="true">
        <default display="Shift" action="modifier:shift"/>
    </key>

    <key>
        <default display="&gt;" />
        <shifted display="&lt;" />
        <mod1    display="|" />
    </key>

    <key obey-caps='true'>
        <default display="w" />
        <shifted display="W" />
        <mod1    display="«" />
    </key>

    <key obey-caps='true'>
        <default display="x" />
        <shifted display="X" />
        <mod1    display="»" />
    </key>

    <key obey-caps='true'>
        <default display="c" />
        <shifted display="C" />
        <mod1    display="©" />
    </key>

    <key obey-caps='true'>
        <default display="v" />
        <shifted display="V" />
        <mod1    display="®" />
    </key>

    <key obey-caps='true'>
        <default display="b" />
        <shifted display="B" />
        <mod1    display="ß" />
    </key>

    <key obey-caps='true'>
        <default display="n" />
        <shifted display="N" />
        <mod1    display="¬" />
    </key>

    <key obey-caps='true'>
        <default display="," />
        <shifted display="?" />
        <mod1    display="¿" />
    </key>

    <key>
        <default display=";" />
        <shifted display="." />
        <mod1    display="×" />
    </key>
    <key>
        <default display=":" />
        <shifted display="/" />
        <mod1    display="÷" />
    </key>
    <key>
        <default display="!" />
        <shifted display="§" />
        <mod1    display="¡" />
    </key>

    <key fill="true">
        <default display="Shift" action="modifier:shift"/>
    </key>

    <space width="500" extended="true"/>

    <space width="4000"  extended="true" />

    <space width="4000"  extended="true" />

    <space width="500" extended="true"/>
  </row>

  <row>
    <space width="500" extended="true"/>

    <key>
        <default display="[->]" action="modifier:layout"/>
    </key>

    <key fill="true">
        <default display="Ctrl" action="modifier:ctrl"/>
    </key>

    <key>
        <default display="äëö" action="modifier:mod1"/>
    </key>

    <key>
        <default display="Alt" action="modifier:alt"/>
    </key>

    <key width="12000">
        <default display=" " action="space" />
    </key>

    <key>
        <default display="^" action="up" />
    </key>
    <key>
        <default display="V" action="down" />
    </key>
    <key>
        <default display="&lt;" action="left" />
    </key>
    <key>
        <default display="&gt;" action="right" />
    </key>

    <space width="500" extended="true"/>

    <space width="4000"  extended="true" />

    <space width="4000"  extended="true" />

    <space width="500" extended="true"/>
</row>
</layout>
</keyboard>
#!/bin/sh

CMD=""

if [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
    if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then
        CMD="matchbox-keyboard -d -o landscape fr"
    elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then
        CMD="matchbox-keyboard -d -o portrait fr"
    fi
else
    CMD="matchbox-keyboard -d fr"
fi


# Delay to make sure the window manager is active

if [ "$CMD" ]; then
    (sleep 2 && $CMD) &
fi

Liens utiles

En vrac

Notes diverses / Recherches

Franciser

Fichiers possibles :

Le nom des icônes du menu principal dans /usr/share/applications/, de là on ouvre chaque fichier pour changer le paramètre “Name”.

Carte géographique libre