Forum bépo

Forum des utilisateurs du bépo

Vous n'êtes pas identifié(e).

#1 21/1/2018 16:44:42

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Le Clavier ToucheLibre

Bonjour à tou-te-s,

A mon tour, je me lance dans la conception d'un clavier ergonomique favorable à la disposition Bépo et de ses variantes. Il s'inscrit dans une philosophie de type Fauvix.

Ce projet est à l'état de bouillon. Je pense le nommer ToucheLibre.

Je dispose déjà d'un plan 3D de la mécanique. Voici un premier aperçu en image sur ce site : "bricolons.ovh" onglet "Actu'projet" article "clavier ergonomique"
Un autre site est en cours de construction pour lancer le projet. (Je l'indiquerai plus tard.)

Mon but est de faire en sorte que le design soit entièrement libre (sous licence GNU-GPL et CERN-OHL).
Les sources seront entièrement ouvertes. Des projets open source sur les claviers existent, mais comme trop souvent il n'est fournis que quelques pdf ou des formats propriétaires.
Je veux également faire en sorte de fournir les plans de fabrication avec un guide pour que chacun puisse le fabriquer dans le FabLab le plus près de chez lui.

Je rêve également d'y ajouter quelques fonctions sympa, comme :
     * Un dispositif de pointage. Probablement de type trackball.
     * Un écran tactile pour des raccourcis claviers contextuels et dynamiques. C'est à dire en relation avec les logiciels utilisés et la fenêtre qui est active,
     * Un stylo numérique (ou au moins dans un premier temps un emplacement pour en vrais stylo). Car rien ne vaut un stylo pour dessiner,
     * Un chargeur pour smartphone ou autre tablette,
     * Un bouton de sélection pour passer du PC aux autres périphériques comme le smartphone,
     * incorporation de clé USB ou disque dur.

Je précise que je suis concepteur électronique (pro) donc pour concevoir la méca et l'électronique, je me débouille pas trop mal.
Mais pour la partie logiciel, l'aide est la bienvenue. Donc si ce projet ToucheLibre vous motive n'hésiter pas à le dire ici. (j'indiquerai plus tard comment on peut se contacter.)

Au plaisir

Hors ligne

#2 21/1/2018 16:50:49

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

image ToucheLibre

Dernière modification par LilianBeug (14/8/2018 18:13:37)

Hors ligne

#3 22/1/2018 00:32:58

Fork Bomb
Admin
Inscription : 12/8/2009
Messages : 212

Re : Le Clavier ToucheLibre

Whoah ! C’est… spécial.


Message tapé en Bépo avec un TypeMatrix 2030 USB smile
They see me trollin', they hatin'

Hors ligne

#4 22/1/2018 11:12:46

Mimoza
Olivaw
Lieu : Terre
Inscription : 19/9/2012
Messages : 970

Re : Le Clavier ToucheLibre

salut,
Merci de faire partager ton projet ici. Je t'ai passé membre sur le forum pour que tu puisse profiter des MP, liens etc.

Hors ligne

#5 22/1/2018 15:04:31

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Merci pour l'accueil les gars.

Je vous ferai suivre au fur et à mesure l'avancement du projet.

Hors ligne

#6 31/1/2018 19:27:54

jeff
Membres
Inscription : 18/9/2011
Messages : 136

Re : Le Clavier ToucheLibre

Bonjour, discussion dans le mauvais fil, devrait être dans matériel.

Hors ligne

#7 3/5/2018 17:12:32

Spok
Nouveaux membres
Inscription : 27/6/2016
Messages : 4

Re : Le Clavier ToucheLibre

C'est un beau projet !

Un écran tactile pour des raccourcis claviers contextuels et dynamiques. C'est à dire en relation avec les logiciels utilisés et la fenêtre qui est active.

Cette partie notamment est intéressante. J'ai tenté de programmer quelque chose de ce genre dans mon Ergodox, mais j'ai l'impression que la spécification HID/USB ne permet pas au clavier de connaitre le contexte de l'hôte, à part peut-être le status de verrouillage des majuscules. Peut-être que je n'ai pas bien cherché. Est ce que tu as déjà des idées pour implémenter ce genre de fonctionnalité ?

Hors ligne

#8 8/6/2018 08:24:46

fabien
Membres
Inscription : 10/1/2010
Messages : 327

Re : Le Clavier ToucheLibre

Comment avance ce chouette projet LilianBeug ? smile

Hors ligne

#9 9/8/2018 18:26:51

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Salut Spok,

À vrais dire, j'ai pas mal idée en tête au tour de ce clavier. Il faut que je me calme un peu et faire les choses étape par étape.
Mon idée est de faire en sorte que le design soit modulaire. C'est à dire que les fonctions soit indépendantes et que l'unité de commande général soit adaptable au évolution. Un peu à la manière d'un Ardiuno avec les Shields. Je commence par la partie clavier. Puis la partie Trackeur Et enfin la partie écran tactile.

Concrètement comment faire ? Je ne sais pas encore à vrais dire. Je pense qu'on va pas échapper au fait, de devoir faire un driveur spécifique pour le clavier. Avec une version Windows, GNU/Linux et MacOS. Le logiciel n'est pas mon point fort. Mais je pense qu'il y a forcément une info exploitable dans la couche logiciel de gestion des fénêtres.

En effet en cherchant un peu, il me semble d'une part que les claviers actuels sont uniquement monodirectionnel. C'est à dire que les messages vont uniquement du clavier vers le PC et jamais l'inverse. Et d'autre part, il n'existe pas de scancode pour donner l'info sur la fenêtre active. À part le coup du Tab + Alt pour sélectionner la fenêtre active. Je vois pas ce qu'on peut faire pour gérer les fenêtres avec un clavier traditionnel.

Pour info, Assus a fait un truc un peu dans mon idée (mais par complètement mon idée). Voir ce lien  sur cette site officiel. Il y a aussi Apple qui fait un bandeau tactille pour remplacer la liqne des F1 à F12.

Bref il y a forcément une solution. Mais c'est pas immédiat.

Dernière modification par LilianBeug (14/8/2018 18:14:38)

Hors ligne

#10 9/8/2018 19:00:10

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Salut Fabien,


Merci de me demander des nouvelles. J'ai pas beaucoup donner des nouvelles sur ce projet (pas facile boulo boulo...). Mais que l'on se rassure c'est toujours dans mes objectifs. Là je suis en vacances donc je vais y passer plus de temps.

Entre temps, j'ai revue la mécanique pour intégrer au mieux le trackeur. J'ai dû ragrandir un peu la partie du bas.
Ensuite, j'ai maquetté le clavier. Juste une planche pour poser les doigts pour de vrais et sentir si ça fonctionne bien. De là, j'ai fais quelques ajustement sur la position des touches. Les touches des petits doigts ont descendu et les touches des pousses ont remonté. Les étoiles aussi ont bougé.

En suite, j'ai commencé le schéma électronique et travailler sur l'architecture globale. Notamment, pour répondre à la question, comment faire en sorte que tout cela soit modulaire. Je pense partir sur une partie CPU simple pour avoir rapidement du concret juste sur la partie clavier. Puis je ferai une deuxième version plus sympa pour intégrer toutes les fonctions de j'espère.

J'ai aussi pas mal travailler sur la partie disposition. En effet, même si le bépo est très bien. Je me suis rendu compte que le fait de rompre avec le clavier ISO, inviter à optimiser aussi la disposition, car certaine touche n'était plus aussi bien placer que ça. De plus, je voulais aussi revoir la disposition sur la partie pavé numérique. En effet, j'ai pas trouvé de solution satisfaisante pour moi sur bepo.fr. Surtout avec mon pavé numérique quelques peu étrange. (c'est les touche placer en triangle au milieu).

Puis une chose en entrainant une autre j'ai introduit tout un tas de nouveau paradigme pour la disposition optimiser pour le clavie ToucheLibre.
J'ai trouvé une solution optimum à la fois pour le français, l'anglais et l'espagnol. Prise ne compte encore plus grande des glyphes utilisés en science et en ingénierie. Prise en compte complète du grec polyphonique. Prise en compte complète de l'alphabet phonétique international.

Mais pour tout ça, il va falloir ajouter que j'ajoute une sorte de AltGr2. Je sais pas comment faire au niveau logiciel. Du coup, pour l'instant j'ai un "driver partiel" pour Linux et Windows de ma disposition.

Hors ligne

#11 9/8/2018 19:18:09

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Voilà un aperçu de la disposition partiel pour le clavier ToucheLibre :

// ┌────┲━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┯━━━━━┳━━━━━━━━┯━━━━━━━┳━━━━━━┯━━━━━━━┯━━━━━━━┯━━━━━┯━━━━━━━┳━━━━━━━━━━━┓
// │ Ç ˛ ║  & ` │  % ° │  $ ¤ │  # " │  @ ' ║  ‹ ‘     │   › ’    ║ + †  │ - —   │ * ∞  │ / \   │ = ~  ║ ⌫ Retour┃
// │ ç ¸ ║  1 §  │   2 | │  3 € │  4 < │  5 > ║  « “   │   » ”   ║ 6 ±  │ 7 −   │ 8 ×  │ 9 ÷  │ 0 ^  ║    arrière  ┃
// ┢━━━━━┻═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻═┱───┴─┬───┺═┳═━═┷═┯═━═┷═┯═━═┷═┯═━═┷═┯═━═┻━┳━━━━━━━━━┫
// ┃   ↹     ┃ K  ͜    │  É ˝   │  P ̺     │  U Ù   │  V ̭     ║  [ ⟨    │  ] ⟩    ║   L ɬ    │  C Ɔ   │ D Р  │ M ̱      │ Z ̮     ┃            ┃
// ┃  Tab   ┃ k ͡      │  é ˊ    │ p ̪      │  u ù   │  v ˇ    ║  ( {   │  ) }   ║   l /    │  c ɔ    │ d ð    │ m ¯    │ z ̑      ┃  Entrée ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┺┱────┴┬────┺┱────┴┬────┴┬────┴┬────┴┬────┺┓          ┃
// ┃   ⇬       ┃  È ̏     │ O Œ   │ A Æ   │ I ˙     │ E Ə   ║  ; ̛      │ : ·     ║ R ʁ   │ S ẞ     │ T Þ    │ N ̰      │ X ̟      ┃    ⏎    ┃
// ┃ M Lock ┃  è `   │  o œ   │ a æ   │ i  ̈       │ e ə   ║   , ,    │ . …    ║ r ɹ     │ s ß     │ t þ     │ n ˜    │ x ̽      ┃          ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┲┹────┬┴────┲┹────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃   ⇧     ┃   À ̥   │   F Ʃ   │   Y ʎ   │   J Ʒ   │  W ʍ  ║   !  ̣   │   ?  ̉   ║  H ɧ   │   G ɲ  │   B ǂ   │   Q ̢   ┃        ¦    ⇧    ┃
// ┃  MAJ  ┃  à ˚   │   f ʃ    │   y ɥ   │   j ʒ    │  w ̆    ║   ’  ¡   │   ˆ ¿  ║  h  ̵    │  g µ   │   b ǁ   │   q ̡    ┃   (ç) ¦ MAJ   ┃
// ┣━━━━━┳━┻━━━━━┳━┷━━━┳━┷━━━┱─┴─────┴─────┺━━━━━┷━━━━━┹─────┴───┲━┷━━━━━━━╈━━━━━┻━━━┳━━━━━━━━━━━━━━━━━━━━┫
// ┃  ⎈   ┃         ┃  ⌘   ┃  ⌥   ┃   ½⍽  ½ spc inséc.  ⍽ spc inséc.                ┃   ⇮        ┃   ⎄       ┃                 ↑          ┃
// ┃Ctrl   ┃ Fn    ┃Meta ┃ Alt  ┃   ␣   Espace        _ under score                 ┃ AltGr     ┃ Compo  ┃            ←  ↓  →       ┃
// ┗━━━━━┻━━━━━━━┻━━━━━┻━━━━━━┹──────────────────────────────┺━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━┛


//
partial alphanumeric_keys
xkb_symbols "bepo" {

    include "level3(ralt_switch)"
    include "keypad(oss)"

    name[Group1]= "French (Bepo, ergonomic, Dvorak way)";

    // First row
    key <TLDE> { [        ccedilla,       Ccedilla,       dead_cedilla,      dead_ogonek  ] }; // ç Ç ¸ ˛
    key <AE01> { [               1,      ampersand,            section,            grave  ] }; // 1 & § `
    key <AE02> { [               2,        percent,                bar,           degree  ] }; // 2 % | °
    key <AE03> { [               3,         dollar,           EuroSign,    dead_currency  ] }; // 3 $ € ¤
    key <AE04> { [               4,     numbersign,               less,         quotedbl  ] }; // 4 # < "
    key <AE05> { [               5,             at,            greater,       apostrophe  ] }; // 5 @ > '
    key <AE06> { [   guillemotleft,   U2039,   leftdoublequotemark,  leftsinglequotemark  ] }; // « ‹ “ ‘
    key <AE07> { [  guillemotright,   U203A,  rightdoublequotemark, rightsinglequotemark  ] }; // » › ” ’
    key <AE08> { [               6,           plus,          plusminus,           dagger  ] }; // 6 + ± †
    key <AE09> { [               7,          minus,              U2212,           emdash  ] }; // 7 - − —
    key <AE10> { [               8,       asterisk,           multiply,            U221E  ] }; // 8 * × ∞
    key <AE11> { [               9,          slash,           division,        backslash  ] }; // 9 / ÷ \
    key <AE12> { [               0,          equal,        asciicircum,       asciitilde  ] }; // 0 = ^ ~

    // Second row
    key <AD01> { [               k,              K,              U0361,            U035C  ] }; // k K ͡   ͜
    key <AD02> { [          eacute,         Eacute,         dead_acute, dead_doubleacute  ] }; // é É ˊ ˝
    key <AD03> { [               p,              P,              U032A,            U033A  ] }; // p P ̪  ̺
    key <AD04> { [               u,              U,             ugrave,           Ugrave  ] }; // u U ù Ù
    key <AD05> { [               v,              V,         dead_caron,            U032D  ] }; // v V ˇ ̭
    key <AD06> { [       parenleft,    bracketleft,          braceleft,            U27E8  ] }; // ( [ { ⟨
    key <AD07> { [      parenright,   bracketright,         braceright,            U27E9  ] }; // ) ] } ⟩
    key <AD08> { [               l,              L,        dead_stroke,            U026C  ] }; // l L / ɬ
    key <AD09> { [               c,              C,              U0254,            U0186  ] }; // c C ɔ Ɔ
    key <AD10> { [               d,              D,                eth,              ETH  ] }; // d D ð Ð
    key <AD11> { [               m,              M,        dead_macron,            U0331  ] }; // m M ̄  ̱
    key <AD12> { [               z,              Z,              U0311,            U032E  ] }; // z Z ̑  ̮

    // Third row
    key <AC01> { [          egrave,         Egrave,         dead_grave,            U030F  ] }; // è È ` ̏
    key <AC02> { [               o,              O,                 oe,               OE  ] }; // o O œ Œ
    key <AC03> { [               a,              A,                 ae,               AE  ] }; // a A æ Æ
    key <AC04> { [               i,              I,     dead_diaeresis,    dead_abovedot  ] }; // i I ̈ ˙
    key <AC05> { [               e,              E,              schwa,            SCHWA  ] }; // e E ə Ə
    key <AC06> { [           comma,      semicolon,    dead_belowcomma,        dead_horn  ] }; // , ; , ̛
    key <AC07> { [          period,          colon,           ellipsis,   periodcentered  ] }; // . : … ·
    key <AC08> { [               r,              R,              U0279,            U0281  ] }; // r R ɹ ʁ
    key <AC09> { [               s,              S,             ssharp,            U1E9E  ] }; // s S ß ẞ
    key <AC10> { [               t,              T,              thorn,            THORN  ] }; // t T þ Þ
    key <AC11> { [               n,              N,         dead_tilde,            U0330  ] }; // n N ̃  ̰
    key <BKSL> { [               x,              X,              U033D,            U031F  ] }; // x X ̽  ̟

    // Fourth row
    key <LSGT> { [          agrave,         Agrave,     dead_abovering,            U0325  ] }; // à À ˚ ̥
    key <AB01> { [               f,              F,              U0283,            U01A9  ] }; // f F ʃ Ʃ
    key <AB02> { [               y,              Y,              U0265,            U028E  ] }; // y Y ɥ ʎ
    key <AB03> { [               j,              J,              U0292,            U01B7  ] }; // j J ʒ Ʒ
    key <AB04> { [               w,              W,         dead_breve,            U028D  ] }; // w W ̆  ʍ
    key <AB05> { [ rightsinglequotemark,    exclam,         exclamdown,    dead_belowdot  ] }; // ’ ! ¡ ̣
    key <AB06> { [ dead_circumflex,       question,       questiondown,        dead_hook  ] }; // ^ ? ¿ ̉
    key <AB07> { [               h,              H,              U0335,            U0267  ] }; // h H ̵  ɧ
    key <AB08> { [               g,              G,         dead_greek,            U0272  ] }; // g G µ ɲ
    key <AB09> { [               b,              B,              U01C1,            U01C2  ] }; // b B ǁ ǂ
    key <AB10> { [               q,              Q,              U0321,            U0322  ] }; // q Q ̡  ̢

    // Fifth row
    key <SPCE> { [           space,          U202F,         underscore,     nobreakspace  ] }; // ␣ ½⍽ _ ⍽
};
//

Hors ligne

#12 9/8/2018 20:27:29

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Mais voici la disposition que je voudrais obtenir au final :

Disposition_ToucheLibre

(image fait avec un fichier Calc LibreOffice)


À noter que j’ai placé les lettres (autant que possible) par proximité phonétique ou historique.
Ce qui selon moi, facilite la mémorisation du clavier.

En effet, phonétiquement:
* l et r sont proches
* c et s ont une fois sur deux le même son.
* d, t et b sont proches
* n et m sont proches
* u et i sont proches dans la prononciation française (le son u s’écrit /y/ dans l’API et la lettre y se prononce /i/ pour un français)
* i et y sont proches

En effet, historiquement:
* v a donné u et w
* i a donné j
* C a donné G


De plus je limite le mouvement latéral du petit doigt.

Dernière modification par LilianBeug (14/8/2018 18:37:47)

Hors ligne

#13 9/8/2018 20:58:45

LilianBeug
Membres
Inscription : 24/9/2017
Messages : 19

Re : Le Clavier ToucheLibre

Cette disposition devrait avoir un bon équilibre du point de vue fréquence d'utilisation des touches. Car j'ai fait en sorte d'avoir un équilibre main droite / main gauche.
Mais aussi entre les index, entre les majeurs, entre les annulaires et entre les auriculaires.

Voilà le résultat pour la langue française :
Disposition_ToucheLibre_Freq_Francais

Voilà le résultat pour la langue anglaise :
Disposition_ToucheLibre_Freq_Anglais

Voilà le résultat pour la langue espagnol :
Disposition_ToucheLibre_Freq_Espagnol

(image fait avec un fichier Calc LibreOffice)

Le déséquilibrage en changeant de langue est inférieur à 3%, ce qui, selon moi, est imperceptible au quotidien.
Pour obtenir  ce résultat j'ai dû faire quelques compromis. Hors le fait, je que souhaitais bien séparer géométriquement les lettres des signes de ponctuation.
J'ai inversé U et O car si en français leur fréquence d'utilisation est proche ; en en anglais et en espagnol en revanche c'est le O qui est nettement plus utilisé.
De plus, on note qu'en anglais le W et surtout le H devienne beaucoup plus utilisé qu'en français. Je l'ai donc placé de manière à limiter le déséquilibre entre les doigts.

Au final, je m'éloigne pas mal du Bépo. Mais chacun restera bien-sûr libre d'utiliser sa disposition préférée.

Dernière modification par LilianBeug (14/8/2018 18:18:29)

Hors ligne

Pied de page des forums