Forum bépo

Forum des utilisateurs du bépo

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

#1 12/12/2013 22:58:35

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

création de clavier

Bonsoir à tous. Vu que plusieurs personnes dans le projet bépo ont des prototypes de claviers, je me permet de vous demander de l'aide. J'ai évidement préalablement consulté la page atelier clavier

Actuellement j'ai défini sur papier le design de mon futur clavier, ainsi que son mapage. Je n'ai pas pris le temps d'en faire une version numérique, mais si ça interresse du monde, je vous le ferai.Pour la réalisation matérielle, il me faut : des touches, des diodes pour le ghosting, des leds pour les indicateurs, un microcontroleur pour relier le clavier à l'ordi. J'espère que je n'oublie rien. Je précise que je fais des études d'électronique, donc la partie schéma élecrique et programation je connais. J'ai également accès à une imprimente 3d pour les pièces mécanique un peu étranges (boitier…).. Pour ce qui est des touches, je pense que sur le long terme je m'acheterai des switch cherry mx blue, mais uniquement quand je serai content de mon proto. Le clavier sera hautement programable donc le microcontroleur devra avoir de la mémoire.

Venons à mes questions :
- Je veux un clavier usb. D'après ce que j'ai compris, il faut utiliser des microcontroleur Teensy++. Où peut-on s'en procurer ? Sinon, vu que je sais programmer sur microcontroleur, où pourrais-je trouver la liste des codes à envoyer à l'ordi lors de l'appuis des touches de manière à programmer un microcontroleur autre que le Tenssy (de toute façon cette info m'interresse) ?
- Qu'avez-vous utilisé comme touche (les boutons) lors de la phase proto ? J'aurais bien pu récupérer un vieux clavier, mais vu que je veux refaire la forme globale, les clavier à menbranes ne me parraissent pas du tout pratique à bidouiller.
- Moins important, mais si quelqu'un sait comment récupérer des joystics de qualité pour faire des boutons de pouce ça m'interresse.
Evidement moins c'est cher mieux c'est !

Merci à vous, et bon bidoullages !

Hors ligne

#2 12/12/2013 23:10:30

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

En consultant le thread Ressources utiles pour se faire un clavier, je suis tombé sur ce lienhttp://arduino.cc/fr/Main/LibrairieKeypad, mais je ne vois rien sur la page. C'est bète j'ai l'impression qu'il y avais la réponse à une partie de ma première question.

Hors ligne

#3 13/12/2013 02:00:09

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

Un nouvel adepte smile

Si ce n'est pas déjà fait je te conseille vivement de consulter la partie workshop du forum Deskthority c'est en anglais mais vu que c'est un forum européen le vocabulaire est accessible, il n'y a que le jargon technique à apprivoiser et leur wiki est aussi très bien fourni.

L'important au départ c'est d'avoir le matériel pour la plaque perforée dans laquelle viennent se clipser les rupteurs, ce qui suppose d'avoir accès à une fraiseuse automatisée ou une imprimante 3D même si tu peux faire ça à la main (mais c'est très long, rébarbatif et moins propre). Ça permet de faire un simple boitier ouvert, suffisant pour un premier prototypage. Par la suite tu peux faire un boitier fermé, changer les matériaux, etc… Ce genre de design est souvent accompagné d'une matrice faite à la main comme sur le BrownFox ou même sur les claviers ergo du marché comme le Kinesis Contoured ou le Maltron 3D.
Selon les ressources disponibles et le type de rupteurs tu peux aussi décider de te passer d'une plaque de montage et les fixer directement sur circuit imprimé comme les claviers vendus par Cherry, mais pas forcément en faire spécialement pour le proto : Jeff lui en récupère et les découpe pour faire ses claviers. Pour plus tard tu as aussi le choix d'utiliser les deux : une plaque et un circuit entre lesquels les rupteurs sont pris en sandwich. C'est le must en terme de durabilité et de silence et c'est la méthode utilisé sur quasi tous les claviers MX pour joueurs (Filco, Leopold, etc…) mais le remplacement ou la modification des rupteurs est moins aisée puisqu'il faut tous les déssouder pour les déclipser.

Pour le microcontroleur, la Teensy 2.0 est l'option de facilité à recommander pour un début car il y a déjà plusieurs projets dont tu peux utiliser les codes. Une Teensy++ n'est pas vraiment necessaire pour un clavier au niveau mémoire et puissance à moins d'avoir des exigences particulières au niveau des ports PWM ou analogiques. Pour l'acheter Floris est une bonne adresse en Europe mais si tu as le temps tu peux attendre une commande groupée faite directement sur le site du constructeur. Si tu as une carte Arduino qui traine ça peut aussi faire l'affaire même si ça reste moins évident. Ici et tu trouves des bibliothèques pour claviers mais les rupteurs ne sont pas disposés en matrice (tous connectés individuellement) donc pas utilisables pour un clavier d'ordinateur à cent touches. Il te faut aller voir du côté de ce qu'il se fait sur Deskthority avec le Phantom ou d'autres projets (la page sur le BrownFox devrait t'aider) en les épluchant tu trouvera aussi les keycodes (mais tu peux aussi les afficher sous Linux avec xev)

Prends directement les rupteurs que tu veux utiliser au final car chaque modèle a ses spécificités de montage et de format et les poussoirs classiques sont peu agréable pour cette utilisation et souvent chers. Si tu es curieux et patient tu peux te faire un petit échantillon contenant les différents MX et les Matias ALPS : ces derniers sont moins chers de très bonne qualité (leur Tactile Switch est beaucoup mieux en terme de son qu'un MX blue/green/white ) mais les cabochons sont plus difficiles à trouver et donc plus chers en neuf. Une alternative intéressante est de récupérer un vieux clavier contenant des ALPS ou des MX (et leurs cabochons) mais attention aux frais de ports sur ces vieux claviers bien lourds ! L'adresse incontournable pour les rupteurs c'est 7bit Sinon j'ai vu un vieux clavier Apple Extended II mais les rupteurs sont des AlpsCream (ancêtre des Matias Silent Switch à peu près équivalent au MX Brown) donc pas trop ta came smile

Pour les joysticks, je suppose que tu recherches un petit modèle (pas du tout dans le genre arcade stick de type Seimitsu/Sanwa) comme sur le Cladéon. Le mieux informé sera Jeff lui-même, autant sur la partie joystick que la partie récup smile

J'aimerai bien voir ce que tu as préparé comme design c'est toujours intéressant. Pas besoin de faire un jpeg ou un svg pour l'occasion, un simple scan ou une photo suffiront du moment que c'est contrasté wink

Dernière modification par rat bière sé (13/12/2013 02:07:28)


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#4 13/12/2013 02:22:04

adrien239
Membres
Lieu : Haut Verdon
Inscription : 29/11/2010
Messages : 597

Re : création de clavier

Si j'étais bricoleur comme tu sembles l'être je me pencherais sur l'ergodox pour lequel une partie du travail est déjà faite.
Ensuite libre à toi de l'insérer dans le support de ton choix... ou pas d'ailleurs

ErgoDox_001.png


http://watchmonoblog.blog71.fc2.com/blo … -3133.html


index.php?action=dlattach;topic=43709.0;attach=22576;image

Dernière modification par adrien239 (13/12/2013 02:27:25)


Trackball Elecom M-HT1URBK - Microsoft Trackball Explorer - Maltron 3D - Datadesk Smartboard - Razer protype - Wacom Pen and Touch - Xkeys - DX Racer

Hors ligne

#5 13/12/2013 18:13:39

lawrent
Membres
Inscription : 2/2/2013
Messages : 129

Re : création de clavier

Pareil, je pense que je vais suivre ce fil. L'ergodox commence à me faire de l'oeil, il me tente le saligaud!
J'ai une question qui risque d'être HS, mais est-ce qu'il y a des stratégies particulières pour minimiser le ghosting quand on crée la matrice du clavier? Depuis mes problèmes avec les touches {Alt_L} et {CapsLock} c'est un point auquel j'accorde beaucoup d'importance smile.

Hors ligne

#6 13/12/2013 21:10:07

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

En insérant des diodes dans la matrice il n'y a plus de key rollover (le ghosting, une touche fantôme, n'existe plus sur les claviers modernes) la diode agit comme un sens interdit et le signal n'a plus qu'une seule direction possible. Si tu ouvres un clavier standard, tu peux te rendre compte que les touches modificatrices sont sur la même ligne de la matrice et qu'il y a une diode en amont pour éviter ce phénomène sur ces touches particulières. Si tu modifies ta disposition et que tu déplaces tes modificatrices sur un clavier standard tu risques d'avoir certaines combinaisons bloquées (sur mon Tipro, qu ne contient pas de diodes, un Bip désagréable se fait entendre quand ça arrive big_smile )
Pour du NKRO, No Key Roll Over, sans utiliser de diodes il faut que chaque touche ait sa propre entrée ce qui demande beaucoup de ports sur le controleur. C'est pour cela que ce genre de clavier sans matrice a peu de touches comme le One Hand ou un stick arcade, une manette de jeu, un digicode, etc…

Je trouve qu'il manque pas mal de touches sur le Ergodox pour en faire un clavier "tout terrain" comme une ligne F1…12 en accès direct et je doute un peu de la disposition des touches pour les pouces. Mais c'est très personnel, beaucoup se plaisent sur ce clavier.


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#7 13/12/2013 21:35:37

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

XavierC: Dans un autre thread, je parlais également du problème éventuel des rebonds, mais en y réfléchissant plus, je me suis rendu compte que vu que l'on est limité à 500 caractères par secondes de toutes façon et que les rebonds durent de l'ordre de 50ns, il n'y a aucun risque.
lawrent: Pour le ghosting, les diodes sont en effets le must, et ça reste très simple.

XavierC: Je vais chercher mon scanner et je te post le design général.

Hors ligne

#8 13/12/2013 22:49:44

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

Voila, j'ai posté un brouillon sur toile libre. c'est le plan pour la main gauche, la droite étant totalement symétrique. Les traits à droite sont du à un défaut de mon scanner qui à trouvé important de garder les pliages de la feuille cool

L'idée originale était de diminuer au maximum le nombre de touches (j'ai du mal à attendre la touche des chiffres sur mon clavier) et d'avoir des touches de pouces. Le clavier est syndé de base, mais sera prévu pour que les deux partis puissent s'accrocher, et j'ajouterai sans doute un support pour pouvoir le poser par dessus le clavier de mon portable. J'ajouterai des Leds sans doute sur la droite de la main pour afficher des infos. Vu que je compte utiliser une floppé de couches (maj, accents, symboles, fx (f1 à f12), ascii, macro,…) j'en aurai besoin !

L'idée du design de base est un mélange de l'ergodox (pour le coté séparé), du proto de xavierC (pour les touches de pouces), et d'un pavé numérique (pour les grosses touches sur le haut. Ce dernier point à été vraiment décisif (il n'y en a pas sur mon portable, et quand j'en ai vu un à 90° à l'école, je me suis dis, « c'est ça qui manquait ! » Si on prend un pavé numérique à 90° en sens anti-horaire, on n'est pas très loin de ma forme définitive.

Les touches sur le haut font la taille de deux touches, et serviront pour les touche échap, alt, ctrl, enter, retour arrière tab win et suppr. Les touches de pouce feront 1,5x la taille d'une touche (ou 2x, je ne sais pas encore). Les touches de repos des pouces (les touches centrale) serviront pour «e» et espace. Les modificateurs de couches seront activé avec les pouces (les touches du coin, ou il y a «maj» sur un clavier classique accueilleront un caractère). Le mappage de base sera proche du bépo, du moins pour un premier temps pour me permettre de repasser à pleine vitesse sur un clavier classique, le temps que le proto soit greffé avec mon sac wink
Je compte faire que les touches «à» «ê» et d'autre du même genre, si elle sont pressé seules envoie le caractère correspondant, mais si elle sont pressé en même temps qu'une autre, elle se comporteront comme un modificateur (ex : «à» => à, mais «à» et «u» deviendrais «ù» par exemple). Cela implique que le caractère «à» ne sera envoyé qu'au relachement de la touche (ou suite à une combinaison non valide, ou après un timeout). Je verrais si c'est source de problème.
Les modificateur (alt, win, ctrl et maj seront collant pour pouvoir être activé même si les caractères seront présent sur plusieurs couches. (d'ou l'utilisation de leds pour connaitre l'était du clavier).
Les touches directionnelles et autres seront accessible sur une couches verrouillable (qui pourra même être la couche par défaut, comme le mode normal de vim).
J'ajouterai sans doute un mode gaming, et un mode une main.
Niveau config clavier pour la v42 big_smile, j'aimerai pouvoir tout configurer à l'aide d'un simple hyper terminal (en utilisant le port usb comme un port rs232), de manière à pouvoir le configurer n'importe où sans avoir de logiciel spécifique à installer.

Hors ligne

#9 13/12/2013 23:00:09

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

xavierC: je voulais te demander d'ailleurs, est ce que tu à testé les 5 touches de pouces ? Ça me parraissait beaucoup. Est ce que 3 ce n'est pas plus agréable ?
Et merci pour les liens pour arduino. Je n'en ai jamais fait, mais il y a un début à tout, et je ces microcontroleur me tentent bien.

Dernière modification par robin_moussu (13/12/2013 23:01:02)

Hors ligne

#10 14/12/2013 01:46:55

lawrent
Membres
Inscription : 2/2/2013
Messages : 129

Re : création de clavier

Donc tu voudrais configurer ton clavier avec tous ses modificateurs et ses couches en hardware et pas en software? Ça serait effectivement très intelligent pour le rendre utilisable partout et non dépendant des caprices de xkb.

Personnellement je trouve qu'il manque quelques touches à ton clavier, mais c'est personnel. Pour les pouces, 3 touches ça me semble limite, il m'en faudrait au moins 4 pour être heureux. Par contre je suis curieux de ce que ça peut donner de placer le e sur l'espace (qui n'est pas bête puisque de mon côté je n'utiles jamais le pouce gauche pour l'espace). Du coup tu ne te préoccupes pas de rendre tes modificateurs symétriques?

Hors ligne

#11 14/12/2013 02:58:50

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

Actuellement sur mon clavier de mon pc portable, j'ai des modificateurs symétriques, mais vu que mon layout n'est pas symétrique (les caractères à droite sont différents de ceux à gauche), mon altgr droit à par conséquent une autre signification que celui de mon altgr gauche. En pratique mon altgr droit me sert pour les accents sur les voyelles (main gauche) et mon altgr gauche me sert pour les chiffres (pavé numérique main droite). Sur mon clavier, ce sera pareil, des modificateurs sur les touches haute et basse des pouces avec une signification différente à gauche et à droite. Pour la touche maj, je voudrais faire un essai de maj auto comme sur les téléphones, donc une seule touches collante suffira largement. Mais honnetement pour le layout définitif, ça va me prendre du temps, sans doute autant que quand j'ai dévellopé ma dispo perso à partir du bépo.

Pour les touches de pouces je veux qu'elles soient très accessibles. En réalisant le proto, je verrais si je peux en mettre plus. Le faible nombre de touche sur mon clavier vient d'une volonté de pouvoir accéder à toutes les touches sans avoir à bouger les mains.
Pour le e, il y a plusieurs personnes qui ont testé (pas moi), et apparement c'est pas mal.

Je compte faire une config hardware, pour qu'il soit compatible bépo, azerty et qwerty. De toute façon vu que j'ai peu de touche, j'étais obligé de gérer ce méchanisme (au moins pour l'azerty, mais après c'est la même logique).

XavierC: Les codes que l'on doit envoyé par usb sont les «keycodes» de xev, tu confirmes ?

Hors ligne

#12 14/12/2013 16:28:03

lawrent
Membres
Inscription : 2/2/2013
Messages : 129

Re : création de clavier

Petite parenthèse: pas besoin d'appeler xev pour trouver les keycodes, ils sont tous définis dans xkb/keycodes/xfree86 normalement.

Edit: pour être plus exact, les keycodes sont associés à des noms symboliques correspondant à une touche du clavier et qui seront utilisés plus tard par xkb (par exemple <AC06>=43;).
Pour savoir à quelles touches correspondent ces noms symboliques, on trouve une carte du clavier à la page 9 de ce document: http://www.charvolant.org/~doug/xkb/xkb.pdf

Dernière modification par lawrent (16/12/2013 00:47:00)

Hors ligne

#13 14/12/2013 19:32:11

Laurent
Membres
Inscription : 9/8/2009
Messages : 693
Site Web

Re : création de clavier

À noter que certaines touches (le pavé curseur, les touches AltGr, Control droit, Windows, Page précédente et suivante…) n’ont pas le même code selon le fichier xfree86, qui correspond au pilote kbd (utilisé il y a quelques années), et selon le fichier evdev, qui correspond au pilote du même nom ; les deux fonctionnant pourtant sur le même matériel.
Il y en a forcément au moins un dont les codes ne correspondent pas aux codes matériels renvoyés par le clavier.

Hors ligne

#14 14/12/2013 21:54:25

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

Pour les keycodes je ne suis pas un expert mais je pense que ce sont bien les codes envoyés en brut via l'usb, Laurent et lawrent ne semblent pas dire le contraire. Tu devrais les retrouver dans des exemples pour claviers sur d'autres contrôleurs que les atmel utilisés par arduino (genre des Pic ou même arm)

Je ne suis pas fan de ton layout, mais c'est uniquement parce que j'aime avoir l'équivalent d'un tenkeyless sous les doigts en gardant beaucoup d'accès direct pour les combinaisons de touches comme Ctrl+Alt+F1 pour passer d'un tty à un autre ce qui peut devenir difficile à réaliser si tu mets cette ligne sur une autre couche (classiquement en Fn+rangée ou pavé numérique) mais c'est vraiment une question de goût et d'habitude : Peut-être qu'à l'usage ça se fait très bien et que je suis un peu trop « pétochard » big_smile
Ton idée d'intégrer des accords semble vraiment bien sur le papier, à voir à l'usage et à la programmation mais sur ce dernier point je pense qu'il n'y a pas trop de challenge pour toi smile La compatibilité avec le qwerty a aussi été une de mes préoccupations c'est pour cela que j'ai conservé le Z à côté du W en bépo (qui sont [ et ] en qwerty)

Actuellement comme tu peux le voir sur mon Tipro j'utilise non pas cinq mais six touches sous chaque pouces (Espace ou Retour + les modificatrices Alt, AltGr, Control, Shift et Fn pour ma couche supplémentaire) et c'est tellement un bonheur que j'aimerais y ajouter Super qui est la seule modificatrice sous les auriculaires. Évidemment je n'ai pas encore pu tester la forme en éventail en réel, seulement en testant sur un tirage papier du design, mais j'ai la conviction que ce sera encore mieux. Je me trompe peut-être donc je ferais un test en fixant avec de la Patafix des cabochons sur un support rigide ou faire un prototype en carton de la plaque de montage (mais c'est long de découper toutes ces petites fenêtres avec précision)

Par contre, même si ça parait une bonne idée, les touches de taille deux sont un problème pour obtenir les pièces, c'est aussi pour aborder ce problème que je t'ai demandé de le poster en image. En effet, même s'il est simple de trouver des touches de cette taille en achetant des kits pour pavé numérique, à partir d'une taille deux il vaut mieux utiliser un stabilisateur sous la touche et ils sont assez difficiles à se procurer (notamment si tu comptes te passer d'une plaque de montage auquel cas il te faudra en récupérer sur des claviers Cherry de la gamme G80) À ma connaissance, le seul vendeur de stabilisateurs "Costar" pour plaque de montage c'est WASD Keyboard. Remarque que je ne parle ici que des rupteurs Cherry MX, pour les ALPS c'est encore plus difficile puisqu'il faut dans tous les cas en ramasser sur de vieux claviers.
Il y a aussi l'option utilisée sur les claviers POS matriciels (Point Of Sale = claviers de caisse pour magasins) qui est d'avoir deux rupteurs au lieu d'un central ce qui évite le problème des stabilisateurs et permet une grande personnalisation mais qui pose un autre problème qui est de se fournir en cabochons de taille deux avec ce type de points de montage spécifique. À ma connaissance il n'y a que 7bit et ses achats groupée ou son fournisseur Signature Plastics qui permettent d'en obtenir des neufs, et uniquement pour MX (même si SP peut faire des ALPS, je n'en ai rarement vu de disponibles sur leur site : il n'y a actuellement qu'un seul coloris disponible, en taille 1, sans légende et dans un seul profil de cabochon et de qualité de plastique) Cependant si l'esthétisme t'importe peu tu peux tout de même en récolter sur des claviers comme le Tipro : J'en ai pas mal d'avance, je peux t'en fournir, avec des légendes en allemand (pays de mon vendeur) mais leur profil a une surface complètement plane que je déconseille pour une saisie dactylographique (les doigts ont tendance à glisser dessus).
Tu peux aussi utiliser des cabochons normaux de taille deux sans stabilisateurs mais les contraintes mécaniques latérales risquent à force d'abîmer une ou les deux pièces et la touche étant moins stable tu as plus de chances de mal appuyer dessus et d'avoir des ratés dans ta saisie (et casser ton rythme en devant revenir en arrière ou réappuyer sur la touche avec plus de force)
C'est un réel problème, je me pose actuellement cette question pour mon design : savoir si je réduis la taille de ces touches et je mets des 1,5 comme le Ergodox ou si je laisse les touches dans leur taille actuelle et dans ce cas là je dois choisir si j'opte pour des stabilisateurs ou des touches POS sous deux MX. Dans tous les cas il y a un compromis à faire.


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#15 15/12/2013 22:14:01

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

Hier à été un jour de chance pour moi. Je suis allé chez mon cousin, et il se trouve qu'il avait un razer black widow qui trainait dans son placard, suite à deux verres d'alcool ayant mis fin à ses jour. Il me l'a donné, et j'ai donc devant 100 switch cherry mx blue (2 sont mort par ma faute, 3 par l'alcool) smile Il ne me reste donc plus qu'à trouver un microcontroleur, de la pate à modeler, et je peux me lancer dans les tests.

Pour ce qui est des problèmes de layout qwerty, azerty,… Lorsque j'appuierai sur une touche, il se passera cette séquence : appuie sur la touche, conversion en caractère en fonction de l'état interne du clavier, convertion en keycode dans le bon layout (qwerty ou azerty ou bépo) et enfin envoi dans la liaison usb. Je devrais donc être imunisé contre les problème du «[]» et «kw».

Pour les «ctrl alt xxx», il me semble que «ctrl alt» est suivi soit de «f1, f2, …» soit de «suppr» ou «retour arrière» (dans la très grande majorité des cas, sauf raccourcis défini par l'utilisateur), donc suite à la pression sur «ctrl alt», je basculerai automatiquement vers la couche «f1 f2…». Dans le même ordre d'idée, je ferais en sorte que les couches se bascules toutes seules dès que necessaire pour éviter d'avoir à activer manuellement les modificateurs. Ex : en mode texte «, »«point espace»  activement le basculement vers la touches majuscule.

Pour les touches de deux de haut pour les pouces, tu à raison, et en plus, c'est trop grand. Des touches de 1,5 sont parfaites. Je pense d'ailleurs que je vais imprimer tous mes keycaps avec une imprimente 3d plutot que de réutiliser les keycaps du clavier original.

lawrent au laurent : merci pour l'astuce des fichiers de config pour les keycodes. Je pense que je vais prendre un arduino comme microcontroleur, car le code à l'air très lisible, et ils ont un support pour gérer les claviers. Vu que je vais devoir me plonger comme il faut dans le code, je pense que ce sera plus simple.

Je veux aussi me fabriquer un repose poignet. Je vais prendre un ballon de baudruche et mettre de la farine dedans pour tester.

Est-ce que quelqu'un airait une idée pour la phase de test. Je voudrais pouvoir modifier facilement la place des touches de mon clavier (donc hors de question de ressouder les pins toutes les cinq minutes).

Hors ligne

#16 15/12/2013 22:15:13

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

J'ai trouvé cette page avec de très beau clavier aussi http://blog.fsck.com/2013/12/better-and … oards.html

Hors ligne

#17 16/12/2013 01:15:38

adrien239
Membres
Lieu : Haut Verdon
Inscription : 29/11/2010
Messages : 597

Re : création de clavier

C'est curieux tous ces V inversé hormis le Mark9 qui donne le choix.
Il y a recherche d'ergonomie dans la disposition des touches mais cela s'arrête là ...
On recherche encore un clavier dont les deux parties seront espacées de la parallèle des épaules...
Remarquez tant mieux comme cela il y a encore à rechercher.

Dernière modification par adrien239 (16/12/2013 01:17:13)


Trackball Elecom M-HT1URBK - Microsoft Trackball Explorer - Maltron 3D - Datadesk Smartboard - Razer protype - Wacom Pen and Touch - Xkeys - DX Racer

Hors ligne

#18 16/12/2013 08:26:52

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

robin_moussu a écrit :

Hier à été un jour de chance pour moi. Je suis allé chez mon cousin, et il se trouve qu'il avait un razer black widow qui trainait dans son placard, suite à deux verres d'alcool ayant mis fin à ses jour. Il me l'a donné, et j'ai donc devant 100 switch cherry mx blue (2 sont mort par ma faute, 3 par l'alcool) smile Il ne me reste donc plus qu'à trouver un microcontroleur, de la pate à modeler, et je peux me lancer dans les tests.

C'est moche de profiter d'un moment d'égarement pour exploiter la faiblesse des gens big_smile Mais au moins tu as déjà une bonne partie du matériel

Pour ce qui est des problèmes de layout qwerty, azerty,… Lorsque j'appuierai sur une touche, il se passera cette séquence : appuie sur la touche, conversion en caractère en fonction de l'état interne du clavier, convertion en keycode dans le bon layout (qwerty ou azerty ou bépo) et enfin envoi dans la liaison usb. Je devrais donc être imunisé contre les problème du «[]» et «kw».

Hmm je ne veux pas casser tes espoirs mais un clavier ne fait q'uenvoyer des keycodes à l'ordi qui les interprète, donc il te faudrait une configuration spécifique dans xkb ou autokey pour que ça fonctionne. C'est pour cela que les seuls layouts interchangeable directement dans un clavier sont ceux qui partagent les mêmes touches disposées différemment comme qwerty dvorak et colemak. Les claviers ne sont pas assez intelligents pour faire la différence entre qwerty azerty ou bépo et même s'ils étaient capable d'envoyer des caractères au lieu des keycodes il faudrait que les OS puissent comprendre que ce dispositif de saisie utilise ce mode de communication alternatif et céder le pouvoir d'interprétation des keycodes au clavier : c'est quelque chose qui devrait émaner de la norme USB ou d'un constructeur tout seul (Apple ?) et il faudrait que des pilotes soient créés pour ce nouveau type de périphérique.

Pour les «ctrl alt xxx», il me semble que «ctrl alt» est suivi soit de «f1, f2, …» soit de «suppr» ou «retour arrière» (dans la très grande majorité des cas, sauf raccourcis défini par l'utilisateur), donc suite à la pression sur «ctrl alt», je basculerai automatiquement vers la couche «f1 f2…». Dans le même ordre d'idée, je ferais en sorte que les couches se bascules toutes seules dès que necessaire pour éviter d'avoir à activer manuellement les modificateurs. Ex : en mode texte «, »«point espace»  activement le basculement vers la touches majuscule.

C'est intéressant d'avoir ce genre d'intelligence, j'utilise aussi des logiciels de graphisme et la combinaison ctrl+alt est très utilisée, d'où leur placement sur mon clavier, mais rarement (sinon jamais) combinée avec une autre touche. Mais pour du code, de la saisie de mots de passe ou du jeu ce comportement doit être différent voire totalement absent.

Pour les touches de deux de haut pour les pouces, tu à raison, et en plus, c'est trop grand. Des touches de 1,5 sont parfaites. Je pense d'ailleurs que je vais imprimer tous mes keycaps avec une imprimente 3d plutot que de réutiliser les keycaps du clavier original.

Pas évident de faire ses propres keycaps même avec une imprimante 3D. Certains s'y sont essayé avec beaucoup de réajustements et dans mes souvenirs le résultat n'était pas concluant (fragilité, mauvaise sensation au toucher, manque d'uniformité des séries et résultats trop aléatoires pour être viable)

lawrent au laurent : merci pour l'astuce des fichiers de config pour les keycodes. Je pense que je vais prendre un arduino comme microcontroleur, car le code à l'air très lisible, et ils ont un support pour gérer les claviers. Vu que je vais devoir me plonger comme il faut dans le code, je pense que ce sera plus simple.

Tu n'as pas forcément besoin de partir de zéros ou d'un exemple : il y a déjà plusieurs pilotes valables incluant même des fonctionalités avancées comme l'ultrapooling (un truc des claviers gamers permettant d'outrepasser la limite 6KRO de l'USB)

Je veux aussi me fabriquer un repose poignet. Je vais prendre un ballon de baudruche et mettre de la farine dedans pour tester.

Si je me rappelle correctement une discussion avec Fabien sur ce forum, lui avait utilisé des chaussettes remplies de riz ou de semoule, c'est sans doute bien plus confortable. smile

Est-ce que quelqu'un airait une idée pour la phase de test. Je voudrais pouvoir modifier facilement la place des touches de mon clavier (donc hors de question de ressouder les pins toutes les cinq minutes).

Je ne comprends pas trop la question, il y a plusieurs interprétations. Tu veux sans doute parler de modifier la disposition physique (changer les espaces entre les touches) non ?


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#19 16/12/2013 10:26:21

lawrent
Membres
Inscription : 2/2/2013
Messages : 129

Re : création de clavier

Pour compléter les réponses de Xavier: modifier les keycodes à la sortie de ton clavier n'est pas suffisant parrce que par la suite ces keycodes sont traduits par l'OS et sont traduits différemment selon le layout (y'a qu'à regarder: en azerty il y a une touche qui a un $ sur le level1, sur ton bépo il n'y en a pas).

Et pour les touches F1 à F12, il y a aussi des contextes où elles s'utilisent seules: F5 pour actualiser une page internet, F11 pour un mode plein écran, F1 pour afficher l'aide, … Après c'est à toi à voir si tu les utilises ou pas, et si tu comptes les remapper sur tous tes logiciels.

Hors ligne

#20 16/12/2013 14:01:11

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

Je me suis mal exprimé. Avec un exemple ce sera plus simple : je veux écrire le caractère «]»
(nb, j'utilise le nom des touches utilisé dans /usr/share/xkb/symbol/fr)
$ en azerty, il est en altgr, ligne des chiffres, auriculaire droit un cran  à droite.  (touche AE11)
$ en qwerty, il est en acces direct, ligne du haut, auriculaire droit un cran à droite (touche AD11)
$ en bépo, il est en altgr ligne des chiffres index gauche (touche AE05)
$ sur mon clavier, disons qu'il est sur la couche «ascii» ligne de repos annulaire droit

-j'appuie sur mon clavier sur les touches «ascii» et "annulaire droit»
-si mon mappage de clavier de sortie est l'azerty, il sera convertit en «altgr» + «AE11» ; si c'est le qwerty, ça sera «AD11» et si c'est le bépo «altgr» + «AE05»

Du coup à partir du moment ou le caractère existe dans le mappage de destination je pourrais l'utiliser sur mon clavier. Le firmware du clavier s'occupant de faire la convertion. La place des caractères en qwerty et en azerty n'a donc plus aucune importance.

----

lawrent: pour les touches fx, ce que je veux faire c'est un basculement auto vers la couche fx suite à l'appui de la séquence «ctrl alt». mais rien ne m'empéchere d'y accéder directement en appuyant sur la touche «fx». Ce que je voulais éviter c'était d'avoir à faire «ctrl alt fx 3» pour aller sur tty3.

Hors ligne

#21 16/12/2013 21:12:25

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

je vois mieux ce que tu veux dire en effet comme ça tes couches supplémentaires gardent les mêmes caractères selon le layout. La partie délicate serait le changement de layout à la volée : autant au niveau OS c'est facile, autant dans le clavier tu vas devoir bien gérer l'utilisation de la RAM du contrôleur en mettant les cartes de tes couches dans l'EEPROM. Heureusement tu as déjà des exemples de claviers avec cette fonction comme le Phantom ou le GH60. Peut-être aussi que la Teensy2 sera trop limitée pour autant d'informations et qu'il te faudra finalement opter pour le modèle ++, ça reste à voir.

lawrent: pour les touches fx, ce que je veux faire c'est un basculement auto vers la couche fx suite à l'appui de la séquence «ctrl alt». mais rien ne m'empéchere d'y accéder directement en appuyant sur la touche «fx». Ce que je voulais éviter c'était d'avoir à faire «ctrl alt fx 3» pour aller sur tty3.

Intuitivement c'est l'idée que je m'en faisais aussi smile

Je pense que ton clavier sera bien sympa et que son code pourra en inspirer plus d'un.


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#22 16/12/2013 23:51:25

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

En regardant le code souce du tensy et des arduino, je me rend compte que mes besoins sont peu être plus poussé que ce que propose leur api. En effet, c'est très simple d'envoyer un «a» par exemple, mais je n'ai pas trouvé comment envoyé des lettres accentué tel que «à». Je n'arrive pas à trouver le code qui correspond à la trame envoyer dans l'usb pour une touche donnée. J'ai bien compris qu'il doit y avoir «AC01» et d'autre code similaires, mais impossible de trouver la trame complète sur github. Si je doit tout réécrire from scratch, ça ne me dérange pas (même si c'est idiot), mais j'aurais au moins aimé avoir la trame à envoyer pour les touches accentué et la touche «altgr».

Je vais aller voir sur deskthority si des gens ont posté du code.

Hors ligne

#23 17/12/2013 00:24:59

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

Je trouve aussi l'API pas très évidente. Le mieux c'est de configurer le clavier en qwerty dans les options puis utiliser les lettres des emplacements correspondants pour permettre à la bibliothèque de traduire en keycodes. À moins d'avoir toutes les dispositions en tête, il est nécessaire d'ouvrir des images de chaque disposition à côté ou mieux d'avoir un tableau de correspondances. C'est ce que j'ai du faire sur mon Tipro pour programmer les touches de macro pour les signes ouvrants et fermants (guillemets, crochets, parenthèses, etc…)

Sur DT il y a plusieurs firmwares pour le Phantom et tu peux aussi aller voir celui de l'Ergodox qui utilise I2C pour la communication entre les deux parties du clavier. Il doit aussi y en avoir d'autres pour le Ergodox.


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

#24 17/12/2013 00:34:12

robin_moussu
Membres
Inscription : 17/3/2013
Messages : 289

Re : création de clavier

Merci pour le pointeur pour 'ergodox. Ça me parrait être une très bonne piste.

Question à part. Est ce que le teensy 3.1 est compatible au niveau du code avec le teensy++, vu que la différence de prix est minime.

Dernière modification par robin_moussu (17/12/2013 00:34:33)

Hors ligne

#25 17/12/2013 01:50:07

rat bière sé
Le vilain admin
Inscription : 15/3/2012
Messages : 809

Re : création de clavier

De rien, c'est plus facile de trouver quand on a suivi soi-même le déroulement de ce projet smile

Je ne pense pas que ce soit compatible : les teensy 2 et ++ utilisent un controleur Atmel tandis que la 3 est un ARM. De plus, le code entre Teensy 2 et ++ est déjà légèrement différent à cause de la différence de version du controleur, notamment la numérotation des ports (pour le reste je ne suis pas assez renseigné)


GNU/Linux depuis 2/2012 : Ubuntu→ Xubuntu 4/12→ Debian (Xfce) 10/12 + Cubian 10/13
BOINC (World Community Grid) depuis 4/11 - BÉPO depuis 3/12 - Vapoteur depuis 10/13
Claviers Cherry G80-3000 (MXClear), TIPRO MID KM128A (MXBlack) Noppo MID 87 ANSI (MXRed)
Kensington Orbit trackball (à gauche), Wacom Intuos3 A4

Hors ligne

Pied de page des forums