« Discussion utilisateur:Jeff/atelier clavier » : différence entre les versions

De Disposition de clavier bépo
(retrouvé référence matrices capacitives)
 
(13 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 6 : Ligne 6 :
:J'ai fait ça un peu vite hier, je vais être plus attentif lors des copie de liens en provenance du forum. [[Utilisateur:Jeff|Jeff]]
:J'ai fait ça un peu vite hier, je vais être plus attentif lors des copie de liens en provenance du forum. [[Utilisateur:Jeff|Jeff]]


==notes Jeff ==
=Orientations générales=
autres exemples


*[http://www.kickstarter.com/projects/jrowberg/keyglove-wearable-input-device www.kickstarter.com/projects/jrowberg/keyglove-wearable-input-device]
Pour l'instant je ne mets pas de liens commerciaux (retirer temporairement la référence à Thomann même si c'est un très bon site). Attendre l'utilisation qui sera faite de cette page et d'éventuels partenariats d'Ergodis. Certaines références sont a priori incontournables mais c'est trop subjectif. Est-ce que les groupes d'achat DT et GH entrent dans cette catégorie ?
*[http://www.kickstarter.com/projects/1780168636/textskin-game-controller-keyboard-at-your-fingerti www.kickstarter.com/projects/1780168636/textskin-game-controller-keyboard-at-your-fingerti]
: Rapidement, non. On peut considérer les groupes d'achat comme non-commerciaux, par contre les boutiques comme celle de 7bit ne sont pas des événements ponctuels et il prend une marge, ce que l'organisateur d'un achat groupé ne fait pas (éventuellement un avantage en nature ou un don matériel des participants) [[Utilisateur:XavierC|XavierC]] 4 mars 2013 à 11:53 (UTC)
*[http://deskthority.net/workshop-f7/dell-at102w-to-tenkeyless-mod-t5137.html version cuir] version cuir
:Aussi, peut-on considérer que promouvoir Teensy par rapport aux autres cartes μcontroleurs n'est pas en soi une forme de publicité ? On est forcément subjectif. [[Utilisateur:XavierC|XavierC]] 4 mars 2013 à 11:58 (UTC)
*un petit trackball à intégrer au clavier [http://deskthority.net/workshop-f7/custom-trackball-t4773.html Custom trackball]


pas retrouvé le bat-"quelque chose", de mémoire sur GH
 
 
=notes Jeff =
 
Il faudra peut être envisager de faire plusieurs pages.
 
Construire un clavier, continuité du travail sur les dispositions.
Difficulté de l'adaptation des disposition aux claviers spéciaux.
Comment adapter les algorithmes d'optimisation des dispositions aux claviers spéciaux
 
autres exemples


Un mot sur le crowfunding ? pas convaincu du besoin.
Un mot sur le crowfunding ? pas convaincu du besoin.


basiques à connaitre
envisager des dessins pour les différentes formes de clavier, (à la main ou autre si temps dispo)
Les pages [[En_savoir_plus|En savoir plus]] et  
 
[[Ergonomie|Ergonomie]] et en particulier [[Claviers|Claviers]] du wiki
Mettre qq liens pour la programmation Teensy,
https://github.com/tmk/tmk_keyboard
https://github.com/Bigot/cladeon
 
note sur les temps de rafraichissement
Pour les claviers en plusieurs partie : PS2 ou I2C
 
faire un premier jet d'intégration de photos, plutôt petites pour ne pas surcharger la page.
 
http://geekhack.org/index.php?topic=40754.0
 
-----
 
Points à préciser suite question sur le forum :
* présentation TMK
* exemples codes cladeon pour gestion des touches, scan, progmem, macro...
* schéma de la touche à la prise USB, exemple de composants
* différence teensy teensy++
* dans quels cas faire appel à des registres à décalages ou à des extensions de ports I2C
* présentation des bibliothèques teensy
* prise en compte du problème des rebonds (jamais constatés avec des MX Cherry black mais autant prévoir)
* gestion des accords clavier
 
Faire une page dédiée à l'utilisation des teensy ?
----
 
* http://geekhack.org/index.php?topic=46547.0 Un maquetage de clavier en bol avec trackball intégré et touches en éventail pour le pouce
* http://geekhack.org/index.php?topic=43709.30 Sur la première page, ergodox et trackball intégré dans un clavier. Sur la deuxième page, projet de clavier avec trackball sous le petit doigt, eventail pour le pouce
* http://geekhack.org/index.php?topic=44940.0 GP, ergodaox avec cluster de pouce décalé. également un un support de plexiglas.
* http://geekhack.org/index.php?topic=45154.0 claviers matriciel chainés
* http://geekhack.org/index.php?topic=40567.0 prototypage à partir d'un tole perforée
* http://geekhack.org/index.php?topic=46015.0 projet de clavier pliant.
 
http://deskthority.net/workshop-f7/a-reduced-matrix-layout-for-ergodox-kinesis-maltron-etc-t4820.html ergodox reduit jesse
 
 
 
 
Bonjour
 
zanobox :
 
J'utilise l'environnement arduino pour programmer le teensy. Quand on paramètre l'environnement pour utiliser le teensy comme clavier ("outil/Board teensy" et "outil/USB Type keyboard") le préprocesseur C utilise le fichier «.../arduino-1.0.1-windows\arduino-1.0.1\hardware\teensy\cores\teensy/keylayouts.h» qui contient attribue un nom compréhensible aux codes binaires que le clavier doit transmettre à l'ordinateur :
 
    #define MODIFIERKEY_CTRL        ( 0x01 | 0x8000 )
    #define MODIFIERKEY_SHIFT      ( 0x02 | 0x8000 )
    #define MODIFIERKEY_ALT        ( 0x04 | 0x8000 )
    #define MODIFIERKEY_GUI        ( 0x08 | 0x8000 )
    #define MODIFIERKEY_LEFT_CTRL  ( 0x01 | 0x8000 )
 
et
 
    #define KEY_A          ( 4  | 0x4000 )
    #define KEY_B          ( 5  | 0x4000 )
    #define KEY_C          ( 6  | 0x4000 )
    #define KEY_D          ( 7  | 0x4000 )
    #define KEY_E          ( 8  | 0x4000 )
 
Dès que le préprocesseur voit le texte KEY_A dans le code du programme, il le remplace par 4.
 
Ce fichier contient également des codes fonction du paramétrage de langue
(outil/keyboard layout french)
 
Par exemple pour le français :
 
    #define ASCII_41    KEY_Q + SHIFT_MASK            // 65 A
    #define ASCII_42    KEY_B + SHIFT_MASK            // 66 B
    #define ASCII_43    KEY_C + SHIFT_MASK            // 67 C
    #define ASCII_44    KEY_D + SHIFT_MASK            // 68 D
 
On voit bien qu'un clavier Azerty envoi le code équivalent à un Q quand on appuie sur A.


envisager des dessins pour les différentes formes de clavier  
Autant le lien nom de touche-code binaire m'intéressait pour que le programme soit lisible, autant la description du clavier français me paraissait limité.
C'est donc une partie que j'ai un peu étendue.


déplacer le lien PCB
TMK ne m'a pas l'air particulièrement limité au QWERTY, il «suffit» (pas essayé) de bien renseigner le fichier keymapXX.h avec des codes adaptés à ce que tu veux.


référence DT pour switchs et cabochons
Pour faire un peu violent, à la place de
*[http://deskthority.net/wiki/Category:List_of_all_keyboard_switches List_of_all_keyboard_switches]
*[http://deskthority.net/wiki/Category:Keycaps Keycaps]


dimension MX [http://www.cherrycorp.com/english/switches/pdf/mx_cat.pdf plaquette Cherry]
    static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        /* 0: qwerty */
        KEYMAP_ISO(\
            A, B, C, D, E, F.....


exemple de support de switch dans du contre plaqué [http://deskthority.net/workshop-f7/my-diy-keyboard-collection-or-how-i-became-a-kb-geek-t2534-60.html#p100916 Support interrupteurs]
tu fais un truc du genre


référence pour la position des mains
    static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*ergo sous les index
        /* 0: monmien1 */
*autre solution ?
        KEYMAP_ISO(\
            TOTO0, TOTO1, TOTO2, TOTO3, TOTO4, TOTO5.....\


[http://processors.wiki.ti.com/index.php/MSP430_Low_Cost_PinOsc_Capacitive_Touch_Keypad TI clavier capacitif]
En ayant défini préalablement TOTOX comme présenté dans common/keycode.h (voir la doc https://github.com/tmk/tmk_keyboard/blo … keymap.md). Je n'ai pas retrouvé le fichier où étaient définis les codes KC_A, il faut se promener dans les sources.


cuivre adhésif pour faire des pistes
En espérant que ça réponde un peu à la question.

Dernière version du 8 mai 2014 à 17:47

liens cassés

Salut Jeff, excellente initiative ! Peux-tu éditer les liens URL qui sont passés à la moulinette ? Je vais essayer de commencer mais je risque de ne pas tous les retrouver. XavierC 2 mars 2013 à 05:21 (UTC)

J'ai fait ça un peu vite hier, je vais être plus attentif lors des copie de liens en provenance du forum. Jeff

Orientations générales

Pour l'instant je ne mets pas de liens commerciaux (retirer temporairement la référence à Thomann même si c'est un très bon site). Attendre l'utilisation qui sera faite de cette page et d'éventuels partenariats d'Ergodis. Certaines références sont a priori incontournables mais c'est trop subjectif. Est-ce que les groupes d'achat DT et GH entrent dans cette catégorie ?

Rapidement, non. On peut considérer les groupes d'achat comme non-commerciaux, par contre les boutiques comme celle de 7bit ne sont pas des événements ponctuels et il prend une marge, ce que l'organisateur d'un achat groupé ne fait pas (éventuellement un avantage en nature ou un don matériel des participants) XavierC 4 mars 2013 à 11:53 (UTC)
Aussi, peut-on considérer que promouvoir Teensy par rapport aux autres cartes μcontroleurs n'est pas en soi une forme de publicité ? On est forcément subjectif. XavierC 4 mars 2013 à 11:58 (UTC)


notes Jeff

Il faudra peut être envisager de faire plusieurs pages.

Construire un clavier, continuité du travail sur les dispositions. Difficulté de l'adaptation des disposition aux claviers spéciaux. Comment adapter les algorithmes d'optimisation des dispositions aux claviers spéciaux

autres exemples

Un mot sur le crowfunding ? pas convaincu du besoin.

envisager des dessins pour les différentes formes de clavier, (à la main ou autre si temps dispo)

Mettre qq liens pour la programmation Teensy, https://github.com/tmk/tmk_keyboard https://github.com/Bigot/cladeon

note sur les temps de rafraichissement Pour les claviers en plusieurs partie : PS2 ou I2C

faire un premier jet d'intégration de photos, plutôt petites pour ne pas surcharger la page.

http://geekhack.org/index.php?topic=40754.0


Points à préciser suite question sur le forum :

  • présentation TMK
  • exemples codes cladeon pour gestion des touches, scan, progmem, macro...
  • schéma de la touche à la prise USB, exemple de composants
  • différence teensy teensy++
  • dans quels cas faire appel à des registres à décalages ou à des extensions de ports I2C
  • présentation des bibliothèques teensy
  • prise en compte du problème des rebonds (jamais constatés avec des MX Cherry black mais autant prévoir)
  • gestion des accords clavier

Faire une page dédiée à l'utilisation des teensy ?


http://deskthority.net/workshop-f7/a-reduced-matrix-layout-for-ergodox-kinesis-maltron-etc-t4820.html ergodox reduit jesse



Bonjour

zanobox :

J'utilise l'environnement arduino pour programmer le teensy. Quand on paramètre l'environnement pour utiliser le teensy comme clavier ("outil/Board teensy" et "outil/USB Type keyboard") le préprocesseur C utilise le fichier «.../arduino-1.0.1-windows\arduino-1.0.1\hardware\teensy\cores\teensy/keylayouts.h» qui contient attribue un nom compréhensible aux codes binaires que le clavier doit transmettre à l'ordinateur :

   #define MODIFIERKEY_CTRL        ( 0x01 | 0x8000 )
   #define MODIFIERKEY_SHIFT       ( 0x02 | 0x8000 )
   #define MODIFIERKEY_ALT         ( 0x04 | 0x8000 )
   #define MODIFIERKEY_GUI         ( 0x08 | 0x8000 )
   #define MODIFIERKEY_LEFT_CTRL   ( 0x01 | 0x8000 )

et

   #define KEY_A           ( 4   | 0x4000 )
   #define KEY_B           ( 5   | 0x4000 )
   #define KEY_C           ( 6   | 0x4000 )
   #define KEY_D           ( 7   | 0x4000 )
   #define KEY_E           ( 8   | 0x4000 )

Dès que le préprocesseur voit le texte KEY_A dans le code du programme, il le remplace par 4.

Ce fichier contient également des codes fonction du paramétrage de langue (outil/keyboard layout french)

Par exemple pour le français :

   #define ASCII_41    KEY_Q + SHIFT_MASK            // 65 A
   #define ASCII_42    KEY_B + SHIFT_MASK            // 66 B
   #define ASCII_43    KEY_C + SHIFT_MASK            // 67 C
   #define ASCII_44    KEY_D + SHIFT_MASK            // 68 D

On voit bien qu'un clavier Azerty envoi le code équivalent à un Q quand on appuie sur A.

Autant le lien nom de touche-code binaire m'intéressait pour que le programme soit lisible, autant la description du clavier français me paraissait limité. C'est donc une partie que j'ai un peu étendue.

TMK ne m'a pas l'air particulièrement limité au QWERTY, il «suffit» (pas essayé) de bien renseigner le fichier keymapXX.h avec des codes adaptés à ce que tu veux.

Pour faire un peu violent, à la place de

   static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       /* 0: qwerty */
       KEYMAP_ISO(\
           A, B, C, D, E, F.....

tu fais un truc du genre

   static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
       /* 0: monmien1 */
       KEYMAP_ISO(\
           TOTO0, TOTO1, TOTO2, TOTO3, TOTO4, TOTO5.....\

En ayant défini préalablement TOTOX comme présenté dans common/keycode.h (voir la doc https://github.com/tmk/tmk_keyboard/blo … keymap.md). Je n'ai pas retrouvé le fichier où étaient définis les codes KC_A, il faut se promener dans les sources.

En espérant que ça réponde un peu à la question.