Concevoir un clavier : Avant-projet
Retour vers Concevoir un clavier
Définition de la cible
Comme pour tout projet, il s'agit dans un premier temps de bien cerner l'objectif recherché. Est-ce que l'on veut créer la nouvelle référence mondiale en terme de forme de clavier, répondre à un besoin spécifique (handicap) ou juste faire un truc original ?
On ne fera pas le même clavier si l'on veut pouvoir :
- travailler avec les pieds sur le bureau ;
- taper ses mémoires en conduisant, ou en faisant du tapis roulant (vélo d'appartement...) ;
- recopier un texte manuscrit que l'on veut placer entre les mains ;
- réduire l'encombrement sur le bureau ;
- faire le clavier le moins collègue-friendly possible ;
- animer un atelier d'électronique à destination d'enfants ;
- ...
Pour débuter, le plus simple est de repartir d'un clavier existant et de le modifier.
Par ailleurs il existe des kits tout-faits qui répondent aux besoins les plus courants. Plutôt que de tout réinventer il peut être utile de se raccrocher à un projet existant (Ergodox par exemple).
Outils d'aide à la conception
Les outils suivants peuvent être pertinents en phase de conception. Dans la mesure du possible, des liens vers des documentations, des tutoriaux et des exemples sont indiqués :
- papier crayon ;
- Inkscape pour diffuser son travail au format SVG ;
- http://fritzing.org/ pour modéliser un circuit électronique ;
- http://www.kicad-pcb.org pour la réalisation de circuit intégrés ;
- libreCAD dessin industriel ou Draftsight ;
- Blender modélisation 3D.
Pour des formes un peu complexes, il peut être utile de faire un maquettage en grandeur réelle :
- pâte fimo / pâte à modeler ;
- papier mâché ;
- carton plié.
Formes
Il n'y a pas de réelle limite à la forme que peut avoir un clavier. Au delà du conformisme et de l'utilisabilité, tout un champ de possibles est ouvert.
Forme globale
- à plat, le plus classique, droit, en vague ;
- en bol mode Kinesis ;
- monobloc / multibloc, «splité», zone spécifique pour les pouces ;
- modulaire/extensible ;
- vertical ;
- à porter type alphagrip ;
- curseur 2D/3D ;
- autre (violoncelle.
Nombre de touches
- complet
- tenkeyless
- réduit
- par accord, chordite, gkos, Jellyfish ;
- multiplication des touches ;
- Réduction (“a reduced matrix layout…”).
Positionnement des touches
- dessus/dessous ;
- pédale ;
- dental (ou incisif ?) ;
- latéral ;
- frontal ;
- sous le pouce ;
- au dessus des doigts (action par extension) ;
- en retour sous les paumes ;
- par appui des paumes ;
- coup de poing (pour Ctrl alt Supp par exemple).
Disposition des touches
L'image suivante résume quelques idées de disposition des touches :
Ce ne sont que quelques exemples de disposition possibles, il manque par exemple l'alignement pur de type piano :
- décalé façon machine à écrire ;
- orthogonal façon typematrix ou Utilisateur:Jeff/ortho ;
- «patte d'ours» façon ergodox
- en éventail (les doigts s'écartent quand on ouvre la main) ;
- tentative de composite (Utilisateur:Jeff/cladeon#V2).
Types de touches
Il faudrait définir précisément ce qu'est un clavier. Dans un premier temps c'est un outil qui capte une action manuelle de l'utilisateur, l’interprète et la transmet à un ordinateur sous forme de commande ou de texte (c'est pas suffisant et ne permet pas de distinguer un clavier d'une souris, mais ça suffira pour la suite du paragraphe).
Les moyens techniques destinés à capter l'action de l'utilisateur peuvent être multiples. Le plus simple est l'interrupteur, mécanique ou optique pas exemple, mais on peut aussi envisager une surface capacitive, des accéléromètres, des potentiomètres ou des jauges de contrainte.
Interrupteur
Interrupteurs dédiés
L'utilisation des switchs facilite la création d'un clavier, il suffit d'assembler les interrupteurs et de les câbler. (voir ci-dessous "fixation des switchs spécifiques")
Il existe également un projet pour reproduire les interrupteurs à doigt 5 positions utilisés dans les claviers Datahand (Re-Create the datahand - first babystep)
Interrupteurs standard
Interrupteurs spécifiques
- DIP, surtout pour la configuration
- roues codeuse (très pratiques si on veut avoir 10 «pages» programmées)
- thumb hat sur les joysticks (4 ou 5 positions)
- rotacteurs, interrupteurs rotatifs multipositions
Membranes
Les membranes sont des simplifications d'interrupteurs, faciles à faire mais peut-être plus délicates à intégrer dans un montage que des interrupteurs dédiés.
Optique
- Interrupteurs par rupture de faisceau pour détection sans contact. C'est le procédé utilisé pour les molettes de souris.
- détecteur de proximité IR
Capacitif
- Utilisation de touchpad ;
- matrices capacitive en utilisant les ports Capacitive Touch des MCP430 (MSP430_Low_Cost_PinOsc_Capacitive_Touch_Keypad)
Autres
- potentiomètres : un potentiomètre linéaire et un bouton => un clavier pour violoniste. C'est pas plus dur que ça.
- jauges de contraintes
- micro pour détection du lieu d'un frappe sur une surface
- accéléromètres
Forme des touches
- personnelle
- rond
- carré
- standard
Adapter la taille et la forme des touches à leur position, fonction, leur éloignement, la capacité de précision du doigt concerné.
Disposition
Forcément la disposition sera fonction de la forme du clavier, et probablement inversement. L'adaptation des algorithmes d'optimisation avec des claviers très originaux peut être délicate et peu rentable.
Note : Même s'il a une forme très originale (cellovier), il apparait que l'on se fait très rapidement à un clavier basé sur une disposition bépo dès lors que l'on maitrise la dactylographie.
Référence pour la position des mains
Il est important de pouvoir positionner les mains au bon endroit sur le clavier. Une référence physique est nécessaire et peut prendre plusieurs formes :
- ergots sous les index (point ou ligne). Utilisé principalement sur les familles de cabochons à empreinte cylindrique (la forme moderne) ;
- empreinte plus creuse que les autres touches. Utilisé sur les familles de cabochons à empreinte sphérique (la forme ancienne) ;
- structure texturée (exemple chez WASD) ;
- granulosité différente (surface plus ou moins lisse) ;
- hauteur ou inclinaison différente de la surface (rangée ou famille différente) ;
- empreinte différente (cylindrique/sphérique) ;
- cales latérales pour les poignets.
Comportement, logique de fonctionnement des touches
Voir également la partie programmation.
- Les touches peuvent avoir différents rôles :
- envoi de commande ("imprime écran")
- changement de couche/layout ("Maj")
- émission de caractères ("A")
- changement état du clavier (paramétrage lent/rapide, bépo/azerty)
- logique des modificatrices
- instable ("Ctrl")
- stables ("Caps lock")
- instable avec double clic pour bascule
- touches programmables
- touche unique pour les parenthèses "()" et tous les signes ouvrant nécessitant un signe fermant (cf HP48 ou 1+1=10)
- touche unique pour dérouler les accents du dernier caractère saisi
- clavier à accord
- complet du type Chordite
- mixte : un clavier fonctionnant de façon usuelle mais l'appui de plusieurs touches simultanées permet de donner accès à des caractères ou des fonctions spécifique (pas seulement les touches shift, alt...). On pourrait avoir par exemple :
a+e => "æ" o+e => "œ" t+n => "tion" t+m => "ment" i+q => "ique" i+e => "aire" e+l => "elle" t+e => "ement" a+n => "ation" m+e => "omme" p+r => "pour" l+r => "leur" e+u => "euse" b+r => "Bonjour" c+t => "Cordialement," ... ...
Intégration de fonctions complémentaires
Retours visuels
- diodes
- écran
Système de pointage intégré
- minijoystick
- trackpoint
- easypoint
- touchpad
- joystick
Divers
- récepteurs IR
- lecteur de carte
- rotacteur de défilement (alt-tab, vol+/-)
- détection de présence
- détection d'ambiance (T°, vibration, luminosité)
- lecteur carte
- prise USB
- prise jack audio/micro
- HP
- ...
Trouver un nom pour le projet
Ou comment sortir des type-machin et des truc-ergo…)