En route vers le clavier parfait

Je suis programmeur et, comme vous pouvez l'imaginer, je passe du temps à taper du code. Cette activité consiste généralement à transférer des pensées de l'espace entre les arches des lunettes vers l'espace derrière le moniteur. Bien que les interfaces neuronales soient rares, les exigences héritées rendent l'impression assez difficile, avec le cerveau, les yeux, les mains, le clavier, l'ordinateur et le moniteur impliqués. Je voudrais regarder uniquement le moniteur et non le clavier. Dans le même temps, appuyez sur la touche droite, imprimez plus rapidement et scellez moins, bougez moins avec votre poignet et vos doigts.


La réponse est un clavier ergonomique. Sous la coupe, le processus de donner naissance à deux. Éloignez les enfants des écrans, il y a des scènes technoporno.


image


Lors de la programmation, vous imprimez le code et ne vous plaignez pas de la vitesse, ce n'est pas un goulot d'étranglement. On passe plus de temps à réfléchir. Ce qui est ennuyeux, ce sont les fautes de frappe - lorsque vous les corrigez, la pensée est perdue. Et regarder les boutons au lieu de l'écran ne contribue pas à son retour.


Il semble que je puisse taper à l'aveugle, mais je veux voir où se trouvent les touches. Et c'est distrayant. Il semble taper avec les dix doigts. Mais maintenant, Y et B pressaient avec sa main gauche, puis avec sa droite. Maintenant, que récolter? Et c'est aussi distrayant. De plus, les observateurs ont remarqué qu'ils imprimaient généralement avec neuf doigts: un grand espace et appuyaient dessus avec un pouce. Même s'ils alternent, il y a peu d'avantages / d'informations d'un tel pouce.


Non seulement je suis arrivé à la conclusion que les claviers conventionnels ont des problèmes et j'ai commencé à les résoudre.


  • Les rangées sont décalées les unes par rapport aux autres de la moitié ou du quart de la taille de la clé. Il s'agit d'un héritage de machines à écrire à levier. Par conséquent, ils ont proposé des orthoclaves dans une boîte cartésienne stricte.
  • La même hauteur de colonne, mais différentes longueurs de doigt. Ensuite, les colonnes des longs doigts se sont déplacées vers le haut.
  • Les grands espaces utilisent les pouces de manière inefficace. Nous l'avons divisé en boutons séparés et l'avons appelé un groupe de tambours.
  • Le bloc numérique interfère avec la souris. À emporter! Et c'est devenu Tenkeyless.
  • De nombreux boutons sur une grande surface font bouger le pinceau. En réponse, les boutons ont été coupés, ce qui n'est pas accessible depuis la position d'origine (ASDF JKL;). Et 60%, 40%, 20%, raccourcis et claviers à deux boutons sont apparus.
  • Les claviers à membrane fournissent une faible rétroaction tactile et audible. Par conséquent, il n'est pas clair s'il est nécessaire d'appuyer davantage sur la touche ou s'il est possible de passer à la suivante. Nous sommes revenus à l'ancienne mécanique de la lampe, parfois avec un clic bruyant.
  • La disposition est loin d'être optimale et loin d'atteindre les boutons fréquents avec un doigt faible. Lorsque l'archiveur comprime le fichier, les nouvelles dispositions ont étouffé le mouvement des doigts en fonction des statistiques.
  • Les mains poussent des épaules, pas de la poitrine, et vous devez plier les mains. Moitiés sciées pour tourner ou mettre sur la largeur des épaules. Ils ont appelé cela une scission.
  • Les touches sont marquées, ce qui provoque un coup d'œil. Ici, tout est simple - ne pas étiqueter!
  • Toutes les personnes sont différentes et chacune a son propre clavier parfait. Ils ont commencé à fabriquer leur clavier ergonomique. Et j'ai commencé à le faire.

Épisode 1


Commencé avec ces conditions supplémentaires:


  • Pas de rétro-éclairage. Plus facile et moins distrayant.
  • Installation à charnière, sans carte de circuit imprimé. Cela élimine l'étape technologique supplémentaire, qui prend soit beaucoup de temps à maîtriser, soit une longue attente de livraison.
  • Monosplit, c'est-à-dire que les moitiés sont séparées par l'espace, mais dans un cas. Ensuite, si une main repose sur le clavier, la seconde peut être posée sans regarder. Et dans la division, il n'est pas clair comment viser en deuxième mi-temps. Et la remise en question de la nécessité d'une largeur d'épaule au détriment de la simplicité.
  • Repose-poignet intégré. Cela semblait commode.
  • Petite taille pas plus de 30 cm x 20 cm pour s'adapter à ma fraiseuse CNC de bureau.
  • 44 touches, juste pour les débutants, et la disposition russe ne rentre pas dans la plus petite.
  • Le pas entre les touches est standard de 19 mm, taille 18 mm et écart de 1 mm.
  • Le matériau est du bois. Il a l'air original, beau, il est agréable au toucher et la poussière et les copeaux de bois de la maison sont meilleurs que les autres.

image


Tout d'abord, il posa ses doigts sur une feuille de papier et marqua les pointes. A fait de même sur la pâte à modeler. Il a dessiné les boutons avec un crayon et a mesuré les distances. J'ai transféré le dessin dans un éditeur vectoriel, je l'ai découpé et imprimé là-bas. J'ai répété la procédure plusieurs fois d'autres manières qui me sont venues à l'esprit. J'ai commandé des interrupteurs et des capuchons, et pendant qu'ils étaient allumés, j'ai commencé à les transférer en CAD. J'ai essayé plusieurs programmes et j'ai réalisé qu'ils sont bons, mais pas vraiment - vous devez tout faire glisser avec la souris. Il s'est avéré que le script est plus facile. À partir de la CAO, il me suffit de visualiser le script, de mesurer les distances et de générer le gcode (chemin vectoriel 3D le long duquel volera l'extrémité de la fraiseuse CNC). J'ai vraiment aimé l'idéologie d' ImplicitCAD , mais en termes de gcode, il est humide. Et il est difficile d'obtenir d'autres CAD pour générer du gcode, qui ne volera pas longtemps au même endroit plusieurs fois.


image


Je vais décrire brièvement comment gcode se transforme en mouvements de coupe. La fraise est insérée dans la pince de la fraise, qui est placée sur le portail, et elle se déplace avec des chariots dans notre propre espace cartésien tridimensionnel. Les chariots se déplacent en tournant les vis. Les vis sont tournées par des moteurs pas à pas. Le moteur pas à pas tourne, étant attiré par ses pôles vers les bobines, le long desquelles le courant passe dans une direction et s'éloigne des bobines avec du courant dans l'autre direction. Le courant est important, un petit microcircuit ne peut pas faire face à son contrôle. Cela se fait par le pilote de moteur pas à pas, qui reçoit 2 bits de STEP (s'il faut faire un pas) et DIR (gauche ou droite) à un faible courant à l'entrée à chaque fois, et à la sortie, il donne un grand courant de la direction souhaitée dans les enroulements du moteur. Pour trois moteurs, il s'avère que vous avez besoin de 6 bits 30 000 fois par seconde, retirez-le et mettez-le en temps réel. Si vous n’avez pas le temps, la désynchronisation sortira, et au lieu de la trajectoire prévue, le coupeur ira dans la forêt, c’est-à-dire vers l’arbre où il n’est pas nécessaire. Pour un ordinateur de bureau, le contrôle en temps réel est un vrai problème. Mais pas à cause d'un manque de puissance processeur, mais plutôt à cause de son excès, que le système d'exploitation est engagé dans le recyclage, basculant 1000 fois par seconde entre les tâches. Lorsque vous changez, on ne sait pas exactement comment le sheduler veut. Par conséquent, le signal STEP / DIR est généré par le microcontrôleur sur Arduinka sous le contrôle du firmware grbl , et le même gcode reçoit l'entrée. Mais voici un autre problème: gcode peut être mégaoctet et la mémoire sur Arduin est de quelques kilo-octets. Nous devons le nourrir en petites portions via USB, comment manger un morceau, en donner un nouveau. La bonne chose est que vous n'avez plus besoin de nourrir en temps réel dur, mais en douceur, et un ordinateur portable bCNC ordinaire fait un excellent travail.


image


Un peu sur la façon dont la pièce se transforme en produit. Une table sacrificielle en bois est boulonnée sur la table en métal de la machine, car ce n'est pas dommage. La pièce y est attachée. Le matériau est retiré d'abord avec une fraise en bout de grand diamètre, puis aux coins et sur une petite fraise en bout. Mais les contours traversent le chanfrein avec une fraise d'angle ou une forme arrondie. Les surfaces courbes lisses sont fabriquées avec un broyeur sphérique. Après chaque changement de moulin, vous devez définir l'origine en hauteur. Le début de chaque passage est un moment très crucial. Il est nécessaire de réduire la vitesse et de surveiller attentivement le couteau. Si elle a commencé à gâcher quelque chose ou s'est comportée de manière inhabituelle, il est urgent d'arrêter le processus jusqu'à ce que la pièce ou le couteau soit irréversiblement endommagé. Par exemple, une fraise peut aller plus loin, arracher la pièce, ne pas tourner, fumer, donner de la poussière au lieu de copeaux, voler le long d'un chemin différent, avoir un mauvais diamètre ou un mauvais profil. Ensuite, la pièce est retournée et traitée de la même manière à partir du deuxième côté. Au total, l'instrument change dix fois. Moment le plus crucial à la fin du traitement, lorsque le produit presque fini repose sur des supports minces et est facile à retirer. Nous devrons tout recommencer, car le dos est fermement et définitivement pas collé et pas fini. Le processus de fraisage est très similaire au débogage sur la prod, lorsque les erreurs sont corrigées à la volée et que leur prix est élevé.


image


image


Le premier prototype de débogage du boîtier était en pin car il savait que je le gâterais. Le second était déjà en hêtre. Il y a quelques erreurs mineures: je n'ai pas soulevé la fraise après le remplacement et elle a un peu gâché la pièce, et lors du réglage de la hauteur initiale, j'ai percé la pièce avec la fraise. Le corps a fraisé la journée. Puis une demi-journée pour terminer le dossier.


image


L'étape suivante consiste à souder par montage. Je pensais que je ne pouvais pas souder. Mais il s'est avéré que le fer à souder ne sait pas comment souder. Une station de soudage à température contrôlée fait elle-même des merveilles et des soudures. Vous avez juste besoin de garder la piqûre au bon endroit, d'enduire de flux et d'apporter de la soudure. La tâche consiste à attacher les boutons à la puce. Mais les boutons sont 44, et les broches gérées du Pro Micro ne sont que 18. En même temps, le conducteur a deux extrémités - où le courant entre et sort. Certains les laissent être des lignes et d'autres des colonnes, un total de pas plus de 18. Ces extrémités peuvent être contrôlées séparément. La tension est appliquée à toute la ligne et est lue tour à tour dans chaque colonne. Un bouton enfoncé le sautera et nous le lirons, s'il n'est pas enfoncé, il ne sautera pas. Et le nombre de leurs combinaisons se fait par multiplication, c'est-à-dire que notre Pro Micro peut servir un maximum de 9 9 = 81 boutons. Vous avez besoin de 44 boutons. Vous pouvez 11 4, mais 6 colonnes 8 lignes (4 à gauche et 4 à droite) me conviennent mieux. Le schéma est simple, encore une fois bonjour à Descartes, cette fois en 2D. L'astuce apparaît lorsque 3 boutons sont enfoncés en même temps. Le courant commencera à marcher de ligne en colonne et en arrière et il semblera que le quatrième bouton, qui est un carré à trois touches, est également pressé. Au courant circulant des lignes vers les colonnes, mais pas en arrière, des diodes sont ajoutées. En tant que bus pour la rangée, le conducteur de la diode elle-même est utilisé, et pour les colonnes, vous avez besoin d'un fil isolé afin qu'il n'y ait pas de court-circuit avec les rangées. La partie la plus difficile consiste à attacher les lignes et les colonnes au Pro Micro, car il n'y a pas assez d'espace.


image


image


J'ai mis les calottes sphériques achetées sur les boutons, mais je ne les aimais pas - mes doigts se coupaient avec un bord tranchant. Il a dessiné pendant plusieurs jours et a bu le sien en une journée. Il a fait la jambe ronde de 5,5 mm. J'avais peur que ça se brise, mais ils tiennent bien.


image


C'était au tour du firmware. J'ai écrit le mien à partir de zéro depuis longtemps, alors j'ai pris QMK . Pour le configurer, vous devez spécifier le nombre de lignes et de colonnes du clavier, les broches auxquelles elles sont connectées, la rotation des diodes (des lignes aux colonnes ou vice versa), le mode d'affichage des lignes électriques (8 pièces) et des colonnes (6 pièces) en lignes (4 pièces). ) et les colonnes (14 pièces) de la mise en page, ainsi que la mise en page elle-même. Le processus de configuration de la mise en page peut continuer indéfiniment, j'ai commencé avec QWERTY. Convient en 3 couches. Les couches sont rarement vues sur les claviers ordinaires. Le plus souvent, les couches Fn combinent un nombre avec des clés multimédias sur les claviers d'ordinateur portable. Mais quand il n'y a que 44 touches, vous ne pouvez pas vous passer de couches. En plus des calques, il existe d'autres façons d'attribuer différentes valeurs au même bouton.


Sous Linux, afin de remplir le firmware, vous devez désactiver un service et assembler le projet, en spécifiant votre configuration.


sudo systemctl disable ModemManager.service
sudo make gor:default:avrdude

RST . .


image


. .


  • .
  • .
  • .

.


  • .
  • .
  • .
  • .
  • Cherry — .
  • .
  • , / . .

2


. , , . .


image


, . , , . . , . , , . , 19 . . .


  • .
  • 70 , , .
  • 16 , . 0.5 .
  • 2 , , 4 .
  • .
  • .
  • .
  • .
  • Kailh.
  • Gateron Clear , .
  • Gateron Blue Silent Brown .

image


70 , 44, . Pro Micro - .


image


QWERTY, Colemak .


image


.


  • , . , .
  • 135 . , .
  • . .
  • , , .
  • . .
  • .
  • .
  • , . 2 , , .
  • , .
  • , .

.


  • .
  • .
  • 16 . . .
  • .
  • .
  • . .

image


, .

Source: https://habr.com/ru/post/fr482758/


All Articles