« Utilisateur:Jeff/atelier clavier » : différence entre les versions
(mise en forme) |
|||
Ligne 235 : | Ligne 235 : | ||
==Processeur== | ==Processeur== | ||
=== Récupération === | |||
{{note|type=note|C'est la technique la plus simple pour débuter}} | |||
[[Fichier:Puces_claviers_PS2_.jpg|100px|right]] | |||
Il est possible de récupérer le circuit d'un vieux clavier, soit directement un circuit USB (le plus facile), soit un circuit PS2 qui sera ensuite adapté pour l'USB. Dans les deux cas, la logique est similaire, il s'agit de substituer la matrice d'origine par un câblage répondant à notre besoin (voir matrice plus bas). | |||
*Si la structure globale du clavier est conservée, c'est à dire qu'il y a juste quelques touches à déplacer, un pontage direct peut être fait sur la matrice. | |||
*Si tout le clavier est refait, il faut constituer un tableau qui identifie pour chaque couple de pinoches du circuit le code de caractère émis. Lorsque la matrice adaptée est crée, il n'y a plus qu'à la connecter au circuit en respectant le tableau.[[Fichier:Ps2_wiring.jpeg|100px|right]] | |||
Cette technique permet, par exemple, de faire très simplement un clavier bluetooth. Elle peut éviter d'avoir à programmer un microcontroleur pour ceux que la programmation rebute. Sauf à mettre de la logique entre la puce récupérée et l'ordinateur (voir ci-dessous) cette technique est cependant un peu limitée ; la logique du clavier d'origine est en effet conservée et il est rarement possible d'ajouter des touches. | |||
En complément d'un processeur, elle permet de s'affranchir de l'achat de composants décrits ci-après. | |||
=== microcontroleur / Platine de développement avec capacité HID === | |||
* Teensy | * Teensy | ||
* Arduino Leonardo ou clone | |||
* stellaris launchpad. Pas encore testé | * stellaris launchpad. Pas encore testé | ||
* | * microcontroleur | ||
* autres exemples de solution [http://deskthority.net/workshop-f7/all-about-custom-keyboard-controllers-t2340.html#p44786 controllers] et [http://deskthority.net/wiki/Chameleon_keyboard_controller Chameleon] | |||
Les outils de programmation des processeurs embarqués se sont beaucoup démocratisés, en particulier dans la lignée des outils Wiring et Arduino. Les compétences nécessaires sont maintenant relativement aisées à acquérir, même pour des non-informaticiens, et beaucoup d'exemples sont disponibles sur internet. | |||
=== Éléments complémentaire === | |||
* extension IO sur I2C (MCP23008, MCP23017) | * extension IO sur I2C (MCP23008, MCP23017) | ||
* registres à décalage | * registres à décalage | ||
* module bluetooth | * module bluetooth | ||
==Firmware== | ==Firmware== | ||
Une technique simple est d'enregistrer le mappage des touches dans des «pages» représentées dans le code par des tableaux. Les majuscules et les minuscules ont chacune une page. | Une technique simple est d'enregistrer le mappage des touches dans des «pages» représentées dans le code par des tableaux. Les majuscules et les minuscules ont chacune une page. |
Version du 9 mars 2013 à 11:05
Cette page est destinée à centraliser quelques ressources utiles pour se faire un clavier.
Il commence à y avoir beaucoup de monde qui veut se faire son propre clavier, c'est pas mal du tout. Dans les projets de status de l'association Ergodis il y a une petite note là dessus, il faudrait confirmer cet objectif, même si pour moi c'est plus fait à titre ludique quand dans un réel objectif d'ergonomie.
Objectif
L'objectif de cette page est de donner quelques orientations pour aider quelqu'un voulant se fabriquer ou modifier un clavier. Ce n'est pas un guide de construction pas à pas, l'objectif est d'assister la créativité, pas de la tuer.
Liens utiles, références
Généralité et référence
Explorer le site Bépo, en particulier :
À ne pas rater
Forums dédiés aux claviers, principalement mécaniques :
Sites de "bricolage" électronique
Divers
- reddit.com/r/mechanicalkeyboards et reddit.com/r/keyboards/, en particulier pour les liens sur la droite des pages. Ça permet surtout de tomber sur des trucs du genre Clavier en bambou
Éléments techniques utiles
- matriçage des interrupteurs (http://www.dribin.org/dave/keyboard/one_html/)
- USB
- I2C
- PS2
Exemples de réalisation
Extérieures
Au sein du site Bépo
liens | état | remarque |
---|---|---|
TypeFauvix | Concept | |
TypeRobix | Concept | |
XavierC | Concept | |
Sinma | Concept | |
Cladeon | Prototypes | |
TWalErgo | Concept |
Avant projet
Cible
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 ?
Il est utile de cerner l'objectif recherché. 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 ;
- faire un clavier pédagogique pour enfant ;
- ...
Nom du projet
Ou comment sortir des type-machin et des truc-ergo.
Formes
Forme globale
- à plat, le plus classique
- en bol mode Kinesis
- monobloc / multibloc, «splité»
- vertical
- sous le clavier type alphagrip
- autre, façon suka
- par accord, chordite, gkos, Jellyfish
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)
forme de disposition
- décalé façon machine à écrire
- orthogonal façon typematrix
- «patte d'ours» façon ergodox
- en éventail (les doigts s'écartent quand on ouvre la main)
outil de modélisation
TODO lien vers outil, vers tutorial, vers des exemples
Disposition
Forcément la disposition sera fonction de la forme du clavier, et probablement inversement.
- nombre de touches
- multiplication
- Réduction (“a reduced matrix layout…”)
outils
- papier crayon
- Inkscape pour diffuser son travail au format SVG.
- liens vers tutorial, vers des exemples
- http://screencasters.heathenx.org
Logique de fonctionnement des touches
- rôle des touches
- envoi de commande
- changement de layout
- émission de caractères
- changement état du clavier
- logique des modificatrices
- instable
- stables
- touches programmables
- touche unique pour les parenthèses "()" et tous les signes ouvrant nécessitant un signe fermant (cf HP48)
- touche unique pour dérouler les accents du dernier caractère saisi
Idées pour réalisation matérielle
Mode de prototypage
- tôle
- pâte à modeler
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
Pour avoir un aperçu des différents interrupteurs existants, ou ayant été commercialisés, consulter la page List_of_all_keyboard_switches du wiki Deskthority. On peut citer en particulier :
- Cherry MX et leur écosystème coloré, ML... ;
- Matias Alps.
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")
TODO mettre les liens vers la documentation de référence de ces interrupteurs (dimensions, type de montage)
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.
Les deux systèmes suivants peuvent être utilisés :
- membrane à feuillet unique,, la touche ferme le contact ;
- membrane à trois feuillets, la pression fait le contact entre le circuit du dessus et le circuit du dessous . Les trous de la membrane intermédiaire peuvent être fait à l'emporte pièce.
Le circuit peut être réalisé en cuivre (voir ci-dessous) ou à la peinture conductrice (à tester).
Pour actionner les interrupteurs, il est possible d'utiliser des dômes en caoutchouc. Dans certains clavier, les dômes sont individuels et facilement utilisable . Pour adapter une touche c'est une autre affaire...
Optique
- Interrupteurs par rupture de faisceau pour détection sans contact.
- 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
Cabochons
Pour avoir de jolies touches, éventuellement avec des indications d'usage dessus. Les cabochons spécifiques aux interrupteurs cherry peuvent se trouver facilement (commandes groupées). Consulter la page Keycaps du wiki Deskthority.
Comment indiquer les caractères sur les cabochons ?
- autocollant voir la page Autocollants
- gravure (mécanique, laser)
- décalcomanie et vernis (résistance ?)
- pyrogravure
Processeur
Récupération
C'est la technique la plus simple pour débuter
Il est possible de récupérer le circuit d'un vieux clavier, soit directement un circuit USB (le plus facile), soit un circuit PS2 qui sera ensuite adapté pour l'USB. Dans les deux cas, la logique est similaire, il s'agit de substituer la matrice d'origine par un câblage répondant à notre besoin (voir matrice plus bas).
- Si la structure globale du clavier est conservée, c'est à dire qu'il y a juste quelques touches à déplacer, un pontage direct peut être fait sur la matrice.
- Si tout le clavier est refait, il faut constituer un tableau qui identifie pour chaque couple de pinoches du circuit le code de caractère émis. Lorsque la matrice adaptée est crée, il n'y a plus qu'à la connecter au circuit en respectant le tableau.
Cette technique permet, par exemple, de faire très simplement un clavier bluetooth. Elle peut éviter d'avoir à programmer un microcontroleur pour ceux que la programmation rebute. Sauf à mettre de la logique entre la puce récupérée et l'ordinateur (voir ci-dessous) cette technique est cependant un peu limitée ; la logique du clavier d'origine est en effet conservée et il est rarement possible d'ajouter des touches.
En complément d'un processeur, elle permet de s'affranchir de l'achat de composants décrits ci-après.
microcontroleur / Platine de développement avec capacité HID
- Teensy
- Arduino Leonardo ou clone
- stellaris launchpad. Pas encore testé
- microcontroleur
- autres exemples de solution controllers et Chameleon
Les outils de programmation des processeurs embarqués se sont beaucoup démocratisés, en particulier dans la lignée des outils Wiring et Arduino. Les compétences nécessaires sont maintenant relativement aisées à acquérir, même pour des non-informaticiens, et beaucoup d'exemples sont disponibles sur internet.
Éléments complémentaire
- extension IO sur I2C (MCP23008, MCP23017)
- registres à décalage
- module bluetooth
Firmware
Une technique simple est d'enregistrer le mappage des touches dans des «pages» représentées dans le code par des tableaux. Les majuscules et les minuscules ont chacune une page.
En utilisant des tableaux de pointeurs, il est possible qu'une touche donne accès à un caractère, une chaine ou une fonction.
TODO exemple d'utilisation des pointeurs de fonctions
Teensy
Les différentes «pages» de configuration de touches prennent pas mal de place en RAM. Lorsqu'il y en a trop, ça dépasse la capacité du processeur qui donne des résultats imprédictibles. Il faut alors stocker ces pages dans la mémoire de programmation (PROGMEM) et utiliser des fonctions spéciales pour y accéder.
TODO exemple d'utilisation PROGMEM
Boite
Fixation des interrupteurs spécifiques
La fixation des interrupteurs peut se faire sur BCP ou sur plaque ajourée.
La fixation sur PCB est probablement la plus simple mais doit être réservée aux claviers plats (ou presque) .
Pour une fixation sur plaque, pour une construction plus rigide ou suivant une forme non plane, différentes solutions sont envisageables :
- support cherry MX par treillis en bois
- support de switch dans du contre plaqué
- sur plaque métallique ajourée ;
- sur plaque en PVC, si on ne veut pas percer du métal et que l'on veut une pouvoir former la plaque.
Pour le treillis en bois, il doit être possible d'utiliser des baguettes de modélisme naval (3*5mm et 5*8mm). Pour des exemples par impression 3D, voir le travail de Suka sur DT.
Matériaux
- bois
- métal
- plastique
- impression 3D
Par exemple boite de clavier en bois
Câblage
- Diodes
- matrice
- matrice suspendue, facile et efficace
- Cherry PCB
Le cuivre adhésif en rouleau destiné à créer les vitraux tiffany permet de faire des pistes. C'est un matériaux souple, adhésif, soudable, très utile en fait. Contrairement à l'aluminium, le cuivre accroche la soudure classique à l'étain et ne requiert pas d'outillage sophistiqué. Utilisé pour faire des blindages électromagnétiques dans les guitares, il est donc vendu en plaques autocollantes par des magasins de musique comme chez Thomann.
« Attention à vos doigts, ça coupe » XavierC
Pour connecter de l'aluminium sans le souder, il est possible d'utiliser du vernis conducteur destiné à réparer les circuits de dégivrage automobile.
TODO Photo
Retours visuels
- diodes
- écran
référence pour la position des mains
- ergots sous les index (point ou ligne)
- cabochons avec une structure en relief : texturé ou ayant un marquage gravé en creux
- autre solution ?
Système de pointage intégré
- minijoystick
- trackpoint
- easypoint
- touchpad
- joystick
divers
- récepteurs IR
- HP
- prise USB
Outillage
La difficulté est de faire la part des choses entre les différents types d'outillage :
- celui qui est utile ;
- celui dont on a besoin ;
- celui dont on rêve ;
- celui dont on ne se servira qu'une fois.
On peut résumer à :
- celui qu'on a ;
- celui qu'on n'a pas.
Il est souvent plus pertinent de sous-traiter certains travaux ou de faire avec les moyens du bord.
Ce qui peut toujours servir :
- un fer à souder ;
- un multimètre ;
- ...
Autres :
- perceuse colonne
- fraiseuse
- découpe laser
- défonceuse
- plieuse à tôle
- poinçonneuse
- station de soudage
- oscilloscope
- mortaiseuse
Accessoires
Emballage
Pour transporter son clavier :
idées de récupération
- Il est possible de trouver des switchs dans certains vieux claviers. Vérifier leur valeur avant de les démonter, c'est toujours dommage de détruire une pièce de collection.
- puces PS2 ou USB provenant de vieux clavier
- nappes de disque dur
- câble téléphone / RJ45
- leds (attention cependant à leurs tensions d'utilisation)