Changer le contrôleur du clavier Kinesis Contoured

J’ai acheté un clavier Kinesis Contoured Advantage. Inutile de le cacher, de tous les claviers que j’ai pu tester, celui-ci avec son design 3D est le plus ergonomique de tous. Les mains bougent peu, les pouces sont utilisés, les touches sont mécaniques. Edit: En voici une photo (Merc Salagir), et le lien vers le site du constructeur.

Le clavier est programmable, dans une certaine limite, mais je ne compte pas utiliser cette fonction Mais le clavier soufre d’un certain nombre de défauts de conceptions : pas de touche « Super / OS », ni de touches multimédias. Il existe des hacks pour rajouter des touches au clavier, ainsi que des hacks permettant de changer de contrôleur, et donc d’avoir accès aux fonctionnalités avancées de QMK (par exemple). Ces hacks visent en partie à corriger le bug des touches coincés que l’on peut rencontrer avec le clavier, l’un de ses défauts.

En fait, son autre réel défaut sera son prix. Mais si au lieu de collectionner les claviers, on en achetait tout de suite un bon, cela peut faire des économies, d’autant plus que le clavier est réparable et que le SAV de Kinesis vends des pièces. Il faudra un petit temps d’adaptation pour retrouver ses anciens réflexes (frappe orthogonale, clavier pas nécessairement splitté comme on le faisait avec un autre clavier, dernière colonne de gauche décalée vers le bas pour des raisons de symétrie).

Ouverture du clavier Kinesis Contoured Advantage 1

Il existe plusieurs versions du clavier (qui a été fabriqué depuis 1992), je me suis dépêché d’acheter la version 1 du clavier Advantage USB (KB500USB-blk) afin d’être sûr de profiter des hacks bien documentés. La première opération consistera donc à ouvrir le clavier pour voir comment il est fait. Cela est facile, quelques vis et le clavier s’ouvre tout seul. Bref, après une ouverture sans difficulté, on accède à ça :

Techniquement, il s’agit d’un clavier PS/2 contenant 1 contrôleur série, 1 mémoire flash I2C pour stocker les macros (avec emplacement pour une deuxième mémoire), et un emplacement pour des DIP-switchs remplacé ici par des résistances. En fait, tout porte à croire que la même carte est utilisée sur le modèle Pro qui possède le double de mémoire et ces fameux DIP-switches. La carte contient également 2 multiplexeurs : cela permet d’avoir 16 lignes sur la matrice des touches avec seulement 4 ports sur le micro-contrôleur (A,B,C,G).

Mais le clavier est censé être USB, n’est-ce pas ? Hé bien, oui, car cette carte est reliée à un convertisseur USB-série qui assure également la fonctionnalité de hub USB 2 ports (ou 3 si on compte le clavier). Attention, car cette carte est connue pour buguer avec des chipsets Intel récents ou d’autres types de contrôleurs USB 3. Ce bug peut quelquefois être contourné avec un hub. Point amusant, cette carte est signé « PI Engineering », un fabricant de claviers orthogonax customisables et customizés, plus connu sous le nom de « x-keys ».

En fait, on devine que la version USB a été conçue avec le convertisseur pour éviter d’avoir à gérer 2 versions différentes du clavier et concevoir rapidemment une version USB (au moment où l’USB se répondait, soit au début des années 2000). Que ce convertisseur existe encore en 2016 est étonnant, d’autant plus qu’il ne gérait même pas la norme USB 2, ce qui au prix du clavier faisait désordre en 2016. La nouvelle version du clavier sortie mi-2016 (Kinesis Contoured Advantage 2) règle ces problèmes d’USB et apporte la possibilité d’accéder aux macros comme à un filesystem.

Le Hack Humble Hacker (2010)

La première modification du contrôleur a été réalisé en 2010 par David Whetstone sur un clavier « Kinesis Professionnal QD » daté du 18 mars 1999. Il s’agit de mettre sur le Kinesis le firmware réalisé pour un des premiers clavier maison que je connaisse, le clavier « Humble Hacker Keyboard  ». Cette modification a été réalisée en 2 étapes : d’abord le reverse-engineering de la matrice du clavier.

Puis la réalisation d’une nouvelle carte contrôleur à base de Teensy, sur une carte de prototypage, a grand renforts de fils.

Avec ce contrôleur, on perds le hub USB, l’accès à la mémoire flash, le buzzer, et le connecteur vers les pédales optionnelles. De plus, le clavier anciennement PS/2 a été converti en clavier USB natif (Teensy oblige).

Le firmware et les contrôleurs chrisandreae (2012)

Chrisandreae a conçu un firmware pouvant remplacer le firmware du clavier Kinesis, tout en conservant ses possibilités de reprogrammation, et même plus : il devient possible de remapper les touches via une interface graphique sans reflasher le firmware et de remplacer la souris, et même de faire tourner un programme externe (simple) dans le clavier.

L’accès à la mémoire I2C (utilisée pour stocker la configuration des touches et les macros) et au buzzer est toujours possible ; l’accès aux pédales n’a pas été testé mais la carte reprends la connectique nécessaire. Le hub USB est néanmoins perdu (sur les modèles qui en sont pourvus), puisque le contrôleur est conçu pour reprendre l’ancien câble USB du clavier.

Pour obtenir ce résultat, un nouveau contrôleur viens tout simplement prendre la place de l’ancien contrôleur sur les modèles « récents » (tel que le  clavier de David Whetstone, daté de 1999), directement sur le support DIP 40 pins. Cela permet de conserver le clavier réellement intact, il pourra donc revenir sans problème à sa configuration d’origine.

Ou même en remplacement de l’ancienne carte contrôleur sur le (vieux) modèle 110, qui est très différente des modèles plus récents :

Ces cartes sont basées sur un contrôleur Atmega 32A, le contrôleur doit être programmé à l’aide d’un programmateur externe (certains ne coûtent pas plus chers qu’un teensy), sa soudure implique des soudures CMS, et il y a très peu d’instructions pour refaire la carte (pas même un « Bill of Material » autre que vaguement sur un forum), et il n’y a aucun sité dédié (juste des annonces sur geekhack). Ceci à du refroidir quelques unes des personnes intéressées par ce firmware, malgré un travail d’excellente qualité avec des fonctionnalités introuvables sur d’autres firmwares.

Il est également possible de faire tourner ce firmware sur l’ergodox, en rajoutant une mémoire I2C sur celui-ci, et lui permettre de prendre les fonctionnalités du Kinesis, l’ergonomie en moins.

Ce firmware ne gère néanmoins pas les touches multimedias, et les commits se font rares dans les dermiers mois.

Le contrôleur Stapelberg (2013)

En se basant sur les travaux de David Whetstone, Michael Stapelberg a conçu sous Eagle une carte pouvant remplacer le contrôleur de David Whetstone en utilisant cette fois-ci un Teensy++ 2.0. Au passage, Michael Stapelberg s’est rendu compte que les connecteurs pour les puits de touches alphabétiques étaient différents sur son clavier. Sa carte utilise donc un connecteur Cvilux CF01131V000, compatible avec le connecteur Molex 39-53-2135.

Cette carte apporte un design assez simple et élégant, mais on perds (comme avec la carte Humble Hacker) l’accès à la mémoire flash, le buzzer, et le connecteur vers les pédales. Cependant, il ne doit pas être impossible de les rajouter, il reste plein de ports inutilisés sur le Teeny++. On perds également le hub USB 1.1.

Cette carte n’est pas vendue, mais il est possible de faire réaliser plusieurs modèles pour quelques dizaines d’euros sur les sites usuels : Oshpark, DirtyPCBs, Bilex-LP

A l’origine, Michael Stapelberg utilisait une version adaptée du firmware humble hacker, mais ce clavier est désormais supporté par QMK.

Le « Kinesis Advantage TMK Hack » (2015)

Tout cela est bien beau, mais s’il est possible de remplacer le contrôleur en venant se greffer avec un PCB directement sur le support à la place de l’ancien contrôleur (Chris Andreae), c’est qu’on doit aussi pouvoir greffer directement un Teensy là dessus… Un hack peut-être pas aussi propre que les 2 précédants, mais plus accessible.

C’est le hack proposé par Warren Janssens sur le site hackaday : https://hackaday.io/project/4320-kinesis-advantage-tmk-hack

Il suffit donc d’un Teensy 2.0, d’un support de circuit intégré 40 pins, d’un peu de fil et de soudure… Puis il faudra trouver une solution pour le câble, on proposera de reprendre le câble du Kinesis, mais qu’importe, du moment que le Teensy sera branché en USB.

Ce hack nécessitera évidemment un firmware adapté, et d’ailleurs il visait justement à faire tourner TMK sur le Kinesis. Ainsi Warren Janssens proposera son fork de TMK adapté à ce contrôleur. Ce fork n’est pas synchronisé avec la branche officielle de TMK, mais a été porté sur QMK par alvinstep, et fait partie de la release officielle de QMK (qui par ailleurs contient la documentation complète du hack).

Enfin, il existe un patch pour faire tourner le firmware de chrisandreae (et un pull request sur github) sur ce hack physique. La mémoire I2C et le buzzer sont branchés ; il reste encore quelques pattes de libres sur le teensy pour envisager de rajouter les pédales. Cette solution, comme les autres, ne reprends pas le hub USB.

Remettre un hub sur le Kinesis

Les 4 hacks présentés ici ne s’embarassent pas de garder le hub, et pour cause : dépassé (USB 1.1), buggué, activant le contrôleur USB de l’ancien clavier, on n’a pas nécessairement envie de s’encombrer quand il est possible d’acheter des hubs USB 2.0 pour quelques euros sur ebay (ou ailleurs).

Et d’ailleurs, si on pouvait trouver un hub physiquement compatible avec le boitier ? J’ai reperé plusieurs candidats à cet effet :

Une pieuvre 4 ports

Une pieuvre 7 ports

Avec les hubs pieuvres, l’intégration est facile : il suffit de glisser à travers les ports USB / le câble origine les ports du hub, tout en gardant une prise USB femelle à l’intérieur du clavier. Même pas besoin de souder en reprenant le court câble USB fourni avec le Teensy. Pour gagner de la place, on devra démonter le boitier (il se déclipse facilement avec un couteau sur ces 2 hubs que je me suis procuré en Chine via Ebay). Au passage, l’électronique sur un hub moderne est vraiment minimaliste : cela se limite à un seul circuit intégré dans certains cas.

Cela marche assez facilement avec le hub 4 ports, un peu plus difficilement avec la version 7 ports. Le hub n’est en outre pas alimenté, donc pour il ne faudra pas espérer y connecter des périphériques consommateurs d’électricité (ou vouloir recharger son téléphone).

Le hub « swivel »

Comme les pieuvres, ce hub est facilement démontable. On pourra alors désouder sur le PCB le port du milieu et souder à la place un câble pour le relier au teensy, et faire passer le port mâle via le trou du câble d’origine, et les ports USB à la place du câble d’origine. Un peu de « pistocolle »(pistolet à colle chaude) devrait faire tenir l’ensemble en place . Puis on utilisera un câble rallonge USB pour relier le câble au PC (ou à un autre hub). Cela permet de garder le clavier propre, sans « pieuvre » avec des câbles sortants sous le clavier, et même, un câble détachable de la longueur souhaitée.

Échec gouvernemental prévisible

En janvier 2016, le ministère de la Culture a annoncé lancer la création d’un nouveau clavier français devant permettre d’avoir un accès facile à des symboles manquants en français, tel que le É, les «» ou encore œ et æ. C’est à l’AFNOR qu’a été donné cette tâche. Je n’aime pas faire des prévisions, sauf quand je suis sûr de mon coup. Et je prévois un échec.

Je viens déjà de les taper sans difficulté particulière, mais j’ai effectivement un layout particulier, que certains ont tenté de normaliser auprès de l’AFNOR : le bépo. Déjà en préambule, je me demande bien pourquoi le ministère de la culture voudrait refaire ce qui existe déjà. Et puis pour être honnête, je suis libéral, je considère que l’État ferait mieux de laisser au privé ce pour quoi il n’est pas indispensable. Mais avant tout, voyons les échecs gouvernementaux précédants.

France.

Comme j’en parlais hier, nous avons déjà eu 2 tentatives qui se sont soldées par des échecs : le ZHJAY de la commission Albert Navarre en 1907, et le clavier « Marsan » (1973-1976). Jamais 2 sans 3…

En général, on admet que le QWERTY et l’AZERTY étaient déjà très utilisés, et que les utilisateurs aient préféré l’existant plutôt que de tenter une nouvelle disposition de touches, ce qui explique l’échec de ZHJAY. Je ne suis pas très sûr que ce soit la seule explication, et j’ai pas la force d’aller chercher à la BNF des archives des journaux de l’époque pour étudier la chose.

L’échec du clavier Marsan est bien pire. Le clavier a été normalisé par l’AFNOR au début des années 80. En toute logique, lorsque Thomson a développé « l’ordinateur national » peu de temps après (Thomson, a cette période, appartenait d’ailleurs à l’État Français), celui-ci était doté du clavier national dont le financement était le fait du ministère de l’industrie, n’est-ce pas ?

Thomsino MO5

Ah, en fait non, c’est un clavier AZERTY avec des touches caoutchouteuses au touché dégueulasse… Donc je résume, en 1973 on finance des recherches, en 1984, on les aura oublié ? Autant dire que Claude Marsan aura travaillé pour des prunes justifier son salaire. Sauf que son travail était réellement intéressant…

D’ailleurs le micro-ordinateur Thomson se vendra mal… Ce n’est pas grave, Laurent Fabius aura la solution : le plan « Informatique Pour Tous » (IPT), généralement considéré comme un échec car visant à faire acheter les écoles et collectivités locales du matériel Thomson. Si ce n’est que j’ai un peu bénéficié du plan, et que si j’avais eu un clavier Marsan au lieu de ces horribles touches caoutchouteuses, j’aurais été bien content. Encore que, l’on aurait pu rajouter la volonté d’imposer le clavier national contre la volonté de ses utilisateurs comme une des raisons de l’échec du plan…

Il a donc déjà été mené dans l’État Français à deux fois des études pour des claviers optimisés qui sont passées à la poubelle, pourquoi cela n’en serait-il pas de même ?

Mais voyons ce qui a été fait ailleurs.

Portugal

Le clavier HCESAR a été imposé comme le clavier national par Salazar en 1937 par décret. Toute l’adminstration en sera équipé, et une bonne partie du privé.

hcesar

Je ne vois pas l’innovation de la disposition des touches, je vois même une régression avec des symboles manquants (le point d’exclamation s’écrivant Apostrophe-Backspace-Point)…

Après la révolution des Œillets, le standard tombera en désuétude et sera remplacé par un QWERTY adapté au portugais.

900px-kb_portuguese-svg

S’il faut une dictature pour imposer une dispositon de touches, je pense qu’il est plus sain de ne pas se lancer dans l’aventure, mais voyons ailleurs.

Bulgarie.

La langue bulgare s’écrit en cyrillique. Un clavier a été proposé et normalisé il y a fort longtemps, la norme a été révisé plusieurs fois entre temps :

400px-keyboard_layout_bulgarian_bds2

Ce clavier est « dvorak » : les voyelles sont à gauche, les consonnes à droite, avec les lettres les plus utilisés sur la rangée du milieu. Formidable !

Effectivement, les machines à écrire bulgares reprennent souvent cette disposition. Mais dans les faits, allez dans un magasin d’informatique à Sofia, tous les claviers seront marqués en QWERTY US ! La moitié des claviers étant néanmoins bilingues, avec le double marquage des touches cyrillique / US. Je sais de quoi je parle car j’ai vécu sur place.

Donc, comment s’écrit actuellement le bulgare sur un clavier ? Il existe un standard informel et non normalisé sur base de QWERTY : le claver « phonétique ». Il faut savoir que les bulgares sont amenés régulièrement à travailler avec l’alphabet latin, que ce soit pour coder ou pour écrire des langues étrangères, dont bien sur l’anglais ou le turc (langue également parlée minoritairement dans ce pays). Donc ils doivent connaître aussi le clavier QWERTY… et même quelquefois ils écrivent le bulgare en caractère latins ! Il existe à cet effet une norme informelle par correspondance entre la ressemblance sonore ou visuelle (lorsque le phonétique n’est pas possible) entre les lettres latines et cyrilliques. Ce qui a donné lieu au clavier « phonétique » :

keyboard_layout_bulgarian_phonetic

Sachant qu’il existe également une autre norme visant à utiliser les chiffres 4 et 6 pour les caractères Ч et Ш…

Je ne suis pas sûr que ce soit la meilleure méthode, mais cela facilite l’apprentissage du clavier lorsqu’on a besoin de taper à la fois en cyrillique et en latin.

Et bien sûr, le clavier informel phonétique n’est pas normalisé. Il a été proposé d’en faire une norme officielle, mais pour le moment les bulgares tapent généralement sur un clavier non normalisé, ce qui ne dérange personne sur place… Et l’État continue de mettre à jour sa norme dans son coin. Encore un échec de l’État. Bon, ça a servi sur des machines à écrire et continue d’être utilisé, c’est déjà ça.

Turquie

La langue turque est particulière dans le sens où elle s’écrivait généralement en caractère arabes jusqu’en 1928, puis en latin, dans une série de réformes culturelles menés par Atatürk lors de la création de la Turquie moderne. Aussi, pour écrire en turc, a été proposé le clavier suivant en 1955, également optimisé à la manière de Dvorak (appelé le « clavier F » en turc) :

600px-kb_turkey_f-svg

Ce clavier a effectivement été adopté par les turcs jusque dans les années 90, ou le « clavier Q » (QWERTY turc) a pris de l’importance :

600px-kb_turkey-svg

Aujourd’hui les 2 claviers co-existent en Turquie…

On peut donc bien parler d’une réussite d’un clavier proposé par une institution étatique (ici, l’équivalent de l’académie française pour la langue turque), mais ceci s’est fait par le biais d’un changement fondamental d’alphabet en turquie !

 

Revenons à nos moutons. Le scénario le plus probable pour ce clavier est que l’AFNOR mette quelques uns de ses brillants ingénieurs étudier le sujet. Reprendre le BÉPO n’étant pas envisageable, car le but est bien de créer le clavier, pas de prendre ce qui existe… Que feront ces ingénieurs ? A peu près le même genre de recherches que ce que j’ai fait, j’ai même de fortes chances d’y être lu au cours de ces recherches. (ou pas, je dois arriver trop tard).

Peut-être proposeront-ils un clavier physique différent à la manière du clavier Marsan, peut-être resteront-ils à créer seulement une nouvelle keymap. Puis ils iront proposer un layout optimisé selon certains principes (Dvorak, Colemak, Workman, ou AdNW, j’en reparlerai), et en débatteront longuement. Enfin, après quelques dizaines d’années-hommes la norme sera prête, et un document sera rendu. Sauf si le projet est abandonné entre temps, comme cela arrive aussi dans le privé, mais ne soyons pas médisants a ce point.

Était-ce utile de payer autant de personnes pour de telles recherches ? Le clavier alternatif remportant actuellement le plus de succès, le colemak, est l’œuvre d’un homme isolé, qui sur son CV est employé comme développeur web full stack en Irlande… Le dvorak-fr de Francis Leboutte est également l’œuvre d’un seul homme. Comme le workman, le norman, etc… Et ce blog est justement là pour parler de mes recherches à moi tout seul d’un clavier ergonomique. Être payé pour ça serait du domaine du rêve pour moi, je ne suis même pas sûr que le sujet soit très monétisable (ou que ce soit rentable de mettre des publicités sur ce blog si vous préférez). Notez que je ne suis pas jaloux, juste un libéral qui a des principes.

Revenons à notre norme toute prête et toute chaude, fruits de discussions entre experts de l’AFNOR. Un fois prête, la majorité aura changé (je ne crois pas à une réelection de Hollande en 2017), et le nouveau ministre risque d’abandonner ce nouveau clavier révolutionnaire sous une pile d’autres dossiers. Une nouvelle norme qui dans une quinzaine d’année sera déclassée, comme l’a été le clavier Marsan.

Mais admettons que le nouveau ministre de la culture souhaite promouvoir ce clavier et ne l’abandonne pas. Que peut-il faire ? Dépenser une fortune en spot télévisés ? Cela fonctionnera-t’il ? La résistance au changement est forte… il faudra beaucoup de spots. A mon avis, il dépensera son budget autrement, il a tellement d’autres choses à financer. L’imposer dans les écoles pour des cours de dactylo via le ministère de l’éducation nationale ? Ah oui, ce ne serait pas bête, mais le ministère de l’éducation veux-t’il de ce clavier ? Si oui, comment réagiront les élèves si ont leur impose un clavier différent de celui qu’ils voient ailleurs, et donc qui semble nécessairement plus difficile ? Très probablement mal, connaissant les élèves, j’en ai été un avant eux… Et encore faut-il qu’on arrive jusque là.

Bref, je ne vois pas comment cela peut bien se passer. En attendant, je retourne à mes études personnelles, je n’ai pas besoin de l’État.