« Discussion utilisateur:Jeff/atelier clavier » : différence entre les versions
(nouvelles notes) |
m (→notes Jeff) |
||
(14 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]] | ||
== | =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) [[Utilisateur:XavierC|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. [[Utilisateur:XavierC|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. | 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://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. | |||
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. | |||
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://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.
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.