Forum bépo

Forum des utilisateurs du bépo

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

#1 1/1/2019 04:22:15

leccux
Membres
Inscription : 17/4/2018
Messages : 11

Pas trouvé le clavier qui me comblera, mais ça approche...

Bonsoir à tous et bonne année smile
Je profite d'une insomnie de réveillon pour partager avec vous une réflexion.

Le clavier parfait, selon moi, pour mes besoins. Ça change tellement d'un utilisateur à l'autre, d'un usage à l'autre. Je suis utilisateur du bépo depuis 11 mois vitesse moyenne à 75mpm, j'ai deux claviers que j'apprécie mais qui ne me satisfons pas . À partir des avantages et inconvégnants des deux, je vais essayer d'imaginer mon prochain clavier.
Vos remarques, impressions et conseils sont les bienvenus !

Alors que j'ai commencé les leçons bépo sur mon clavier à 5€, j'ai commandé l'ergodone en kit. C'est un clone chinois de l'ergodox à moins de 150€

L'ergodone, où il faut réapprendre à taper.

Points positifs : aucun ! Enfin, aucun inhérent aux ergod*. Ce clavier est actuellement celui avec lequel j'ai le plus de plaisir de frappe, mais les aspects agréables viennent d’éléments extérieurs.
- QMK est le firmware de l'ergodone. J'ai programmé une foule de macro qui me font gagner professionnellement un temps fou. Sans parler des macros dynamique dont je ne pourrais plus me passer.
- le layout bépo de l'ergodox est compatible.  Il est absolument génial. Largement inspiré du typematrix, avec les maj pouce, c'est d'un grand confort.
- C'est avec lui que j'ai découvert les claviers mécaniques. Quel pied les Gaterons marrons ! C'est fluide, en douceurs et avec le retour tactile on gagne vite en vélocité. Mais ce n'est qu'une question de goût...

Les points négatifs : il y a des qualités que je vois comme des défauts et des véritables défauts sur ces claviers.
- Sous la position de repos des pouces, aucune touche ! Oui ça parait fou pour un clavier qui vise l'ergonomie et pourtant ce bug est là.
- Il est splittable. Cool non ? Non ! Si ça semble confort, finalement on va toujours spontanément garder l'angle ergonomique. Cela induit un défaut de taille selon moi : quel galère pour le transporter ! Déjà qu'il n'est pas assez compact à mon goût, mais alors c'est un véritable calvaire de passer d'un bureau à un autre...
- pas de touche homing. J'ai imprimé 8 touches convexes pour me faire un homing, c'est très agréable, mais sans imprimante 3D j'aurais douillé pour acheter 8 malheureuses touches sur pimp my keyboard.
- Les switch proposés sont des MX. Alors déjà qu'il n'est pas pratique à transporter, mais en plus il faut se coltiner les repose poignets... le cauchemar.
- Enfin la disposition est ortholinéaire, pas en quinconce comme les standards. Alors oui, je pense que c'est grâce à la disposition ortho que j'ai été capable d'apprendre le touch typing. Mais quand je retourne sur un clavier normal, par fainéantise de transporter mon boulet, ma vitesse de frappe passait de 75 à 45mpm. S'exercer avec ce type de clavier me donne cette impression d'un entraînement à mi-utile.
- Et si mon clavier tombait en panne ? Quel galère de retourner sur des claviers classiques. Il me faut un second clavier au cas où. 140€ pour un clavier de secours c'est beaucoup trop !


Il me faut donc un second clavier. Je veux le prendre en quinconce pour m'entraîner, je veux qu'il coûte par cher, qu'il soit plus facilement transportable, plus fin pour ne pas a avoir de reposepoignets. Et puis, ne connaissant que les Gateron marron, je passerais bien aux clic pour voir.

HAVIT®HV-KB390L : génial mais pas parfait

Points positifs :
- le prix : lors du bf, sur aliepress, 50€ (70€ en général), pour un clavier mécanique avec Kailh LP, programmable. Rapport qualité prix au top.
- en quinconce.... c'est fou, car contre intuitif. Mais je trouve beaucoup plus agréable de taper en bépo sur un clavier classique. Comme si le roulement des doigts était plus naturel. Pourtant, j'ai appris et pratiqué le bépo durant plus de 10 mois avec un ortho.
- bruit des switchs vraiment sympa.
- clavier toujours trop encombrant à mon goût, mais moins que l'ergotruc. De plus il est très fin et ne nécessite pas l'utilisation d'un repose poignet.
- marquage qwerty ! Oui c'est un avantage, on est jamais à l'abri de devoir taper en *erty. (mot de passe de session...)

Les points négatifs:
- Alors oui il est programmable, mais avec un logiciel pourave. Le clavier n'utilise pas QMK, ce qui est un gros défaut pour moi. Les possibilités de personnalisation sont limitées. Pas la possibilité d'échanger les Alt avec les touches Maj pour avoir un maj pouce. Pas la possibilité d'avoir une couche num pour intégrer un clavier numérique. J'ai acheté un petit numpad programmable QMK, pour embarquer mes macros et avoir un pavé. C'est toujours en cours de test. Mais moi qui ne voulais plus d'un clavier splittable, c'est paradoxal de compléter mon clavier avec un macropad.
- La barre d'espace à 6u. La plus grosse absurdité des claviers modernes. Et du coup, un alt gr sous le r.
- fatigue musculaire des doigts après de longues heures de frappe. Je pense que ça vient des switchs à  clic. Je n'avais jamais ressenti ça.

J'ai peur les amis. Peur de me retrouver comme ces collectionnistes de claviers (oui pour moi à partir d'un certain nombre, c'est une maladie) sur redit ou autre, qui accumulent les claviers à la recherche de la perfection sans jamais la trouver . Je souhaite que le prochain clavier, sera celui qui me comblera.

Quelques réflexions sur les autres claviers:
- Le typematrix est très clairement un clavier de rêve, mais il ne va pas me satisfaire. Il y a des touches très males placés et surtout, il n'est pas programmable. Je pense aussi que j'aime vraiment le tactil bump, un clavier à ciseaux sera trop dur pour mes petits doigts.
- Tous les claviers qui correspondent aux critères seront trop coûteux. Je ne mettrais plus une somme supérieure à 100€ pour un clavier.
- Le Dactyl interclasserait bien. J'ai bien envie de savoir ce que ça fait d'avoir un clavier qui nous va comme un gant. Mais il aura les mêmes défauts que les ergotrucs. Un de ces jours, je pense que je ferais chauffer mon Anet juste pour le défit de le construire.
- J'aime bien le Redox, il corrige au moins le défaut des pouces, il coûte moins cher en DIY, il est moins encombrant, et possible de le monter avec des low profil en câblage à la main.
- sur Ali, il y a un clone du X-bows à 80€. Mais il ne semble pas programmable.

En handwired, voilà le genre de layout que je me tâte à faire :
https://fr.dhgate.com/product/ymdk-carb … 52458.html
https://www.dhgate.com/product/z62alumi … 12210.html
Mon idée serait d'avoir ma MAJ pouce, alt-gr en shift et mon pavé numérique en Verr Maj.

Autre idée, qui là serait réellement ergonomique, ortho et à très faible coût :
Ce qui casse mon rythme lorsque je tape au clavier, s'est souvent la nécessité d'aller sur la ligne des chiffres. Pourquoi ne pas la dégager ? Vous connaissez les claviers Planck ? Pas assez de touches pour le bépo ? Pas assez ergo ? Je travaille actuellement à une solution de clavier bépo 48 touches. L'idée est d'avoir nos 12 colonnes de lettres afin de ne pas toucher au bépo. Utiliser un layer symb et num pour avoir accès au caractères de la ligne des chiffres. Enfin, les fonctions comme tap dance de QMK permettent le palier le manière fluide le manque de touche. Exemple :
Presser relâcher ê ou ç réalise les caractères, si on laisse pressées ces touches ça réalise ctrl.
Idem pour à et f, pour faire Alt.
La toucher win n'a pas besoins d'être doublée. Si on la presse ou si on maintient, ça réalise win, si on presse deux fois, ça réalise menu.

Je pensais m'inspirer de l'altreus pour faire ce clavier et je suis tombé sur ça :
https://imgur.com/gallery/4ZZWU
Un clavier ergo « parfait » (selon mes critères) pour moins de 50 euros...

Ma contrainte est de réaliser un clavier pour taper en bépo et pour usage pro. Penser aux tableurs, à la logique et l’efficacité des raccourcis.... Dès que j'ai terminé mon keyboard layout editor, je vous le partage.

Merci de commenter et critiquer mes réflexions, si ça peu me donner des idées smile


Ergodone et HAVIT HV-KB390L.
bépoète depuis février 2018.
https://10fastfingers.com/share-badge/3_CM

Hors ligne

#2 2/1/2019 21:10:43

Manolo
Membres
Inscription : 6/8/2017
Messages : 30

Re : Pas trouvé le clavier qui me comblera, mais ça approche...

Bonjour leccux,

Je suis preneur de ton QMK. Je dispose moi aussi d'un Ergodone. Je génère mes layouts à partir d'un fichier Excel et c'est très pratique mais je bute sur 2 problèmes essentiels qui sont pour moi un vrai blocage :
- J'utilise énormément les raccourcis claviers (en AZERTY) avec des touches qui ne sont pas toujours directes sur un ergodone (F1....F12). Ces raccourcis claviers finissent par rallonger en bépo. Je finis par utiliser la souris.
- Je gagne en efficacité en m'entrainant sur Klavarro mais une fois dans le grand bain, quand il faut rentrer des lignes de code #!CF, $l, tab[index]... Je suis à la ramasse. Je fini par utiliser le copier/coller configuré sur la souris par facilité avant de changer de clavier sad

Bref, je suis preneur de tes macros qui peuvent peut-être solutionner certains blocages (pas tous). Le clavier AZERTY ou QWERTY est souvent indispensable surtout les claviers virtuels (pour le tactile) configurés chez le client ou sur mon ordi portable ou je n'ai pas la place de connecter une souris.

Hors ligne

#3 3/1/2019 03:06:13

leccux
Membres
Inscription : 17/4/2018
Messages : 11

Re : Pas trouvé le clavier qui me comblera, mais ça approche...

Salut camarade ergodoniste,

Attention, je ne pensais pas diffuser ça un jour, j'ai vraiment fait à l'arrache. ^^

Pas de pb pour mon layout, mais je me permets de dégager 4 macros, pour des raisons de ...heu... disons confidentialité  J'ai remplacé les trucs que je ne voulais pas diffuser par "SUP" .

Déjà, mon layout de base 

Mis en garde. Je suis bépoiste, pas QMK!  SEND_STRING("qwerty" ), sur un ordi en qwerty donnera qwerty, mais sur un ordi bépo ça donnera bépoè^. La manière la plus facile que j'ai trouvée pour rédiger mes macros est de taper à l'aveugle mes caractères, comme si j'étais en bépo, mais sur l'ordi configuré en Qwerty. Pour résumes, pour avoir par exemple "question" il faut écrire "msfljdr;"

Mon keymap.c.

#include QMK_KEYBOARD_H
#include "keymap_bepo.h"

// keymaps
#define BEPO 0	// default layer, for bepo compatible systems
#define FNAV 1	// function / navigation / mouse layer
#define NUMK 3	// numeric keypad layer

// Spécials 
#define MK_CUT    LSFT(KC_DEL)  // shift + delete
#define MK_COPY   LCTL(KC_INS)  // ctrl + insert
#define MK_PASTE LSFT(KC_INS) // shift + insert

// macros
#define KP_00 0	// keypad "double 0"
#define KP_QUESTION 1 // Question réponse 
#define KP_LINE  2 // Fine de ligne audition
#define KP_PLANCHE  3 // Macro utilisée pour les planches sous Linux CTRL+MAJ+PSCREEN
//SUP


// The Tap Dance identifiers, used in the TD keycode and tap_dance_actions array.
#define TAP_MACRO 0


// Custom keycodes
enum {
  // SAFE_RANGE must be used to tag the first element of the enum.
  // DYNAMIC_MACRO_RANGE must always be the last element of the enum if other
  // values are added (as its value is used to create a couple of other keycodes
  // after it).
  DYNAMIC_MACRO_RANGE = SAFE_RANGE,
};

// This file must be included after DYNAMIC_MACRO_RANGE is defined...
#include "dynamic_macro.h"


const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: default layer
 *
 * ,--------------------------------------------------.                                  ,--------------------------------------------------.
 * |   $    |   «  |  »   |   "  |   (  |   )  |Delete|                                  |SUP   |   @  |   +  |   -  |   /  |   *  |   =    |
 * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
 * |   %    |   B  |E_ACUT|   P  |   O  |E_GRAV|Backsp|                                  |QUEST |   ^  |   V  |   D  |   L  |   J  |   Z    |
 * |--------+------+------+------+------+------|  ace |                                  |      |------+------+------+------+------+--------|
 * |   W    |   A  |   U  |   I  |   E  |   ,  |------|                                  |------|   C  |   T  |   S  |   R  |   N  |   M    |
 * |--------+------+------+------+------+------|  Tab |                                  | LINE |------+------+------+------+------+--------|
 * | MACRO  |A_GRAV|   Y  |   X  |   .  |   K  |      |                                  |      |   '  |   Q  |   G  |   H  |   F  | C_CEDIL|
 * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
 *   |Escape|Insert|LSuper| LCtrl|  LAlt|             |PLANCHE|SUP  |      |SUP   | SUP  |             | AltGr| RCtrl|RSuper|PrntSc| Pause|
 *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
 *                                             |      |      |L_NumK|      |L_NumK|      |      |
 *                                             | Space|LShift|------|      |------|RShift|Enter |
 *                                             |      |      |L_FNav|      |L_FNav|      |      |
 *                                             `--------------------'      `--------------------'
 */
[BEPO] = LAYOUT_ergodox(
// Left hand
BP_DOLLAR,	BP_LGIL,	BP_RGIL,	BP_DQOT ,	BP_LPRN,	BP_RPRN,	KC_DEL,
BP_PERCENT,	BP_B,		BP_E_ACUTE,	BP_P,		BP_O,		BP_E_GRAVE,	KC_BSPC,
BP_W,		BP_A,		BP_U,		BP_I,		BP_E,		BP_COMMA,
TD(TAP_MACRO),	BP_A_GRAVE,	BP_Y,		BP_X,		BP_DOT,		BP_K,		KC_TAB,
KC_ESC,		KC_INS,		KC_LGUI,	KC_LCTL,	KC_LALT,
														M(KP_PLANCHE),	BP_S,
																MO(NUMK),
												KC_SPC,		KC_LSHIFT,	MO(FNAV),
// Right hand
				BP_S,	BP_AT,		BP_PLUS,	BP_MINUS,	BP_SLASH,	BP_ASTR,	BP_EQUAL,
				M(KP_QUESTION),	BP_DCRC,	BP_V,		BP_D,		BP_L,		BP_J,		BP_Z,
						BP_C,		BP_T,		BP_S,		BP_R,		BP_N,		BP_M,
				M(KP_LINE),	BP_APOS,	BP_Q,		BP_G,		BP_H,		BP_F,		BP_CCED,
								BP_ALGR,	KC_RCTL,	KC_RGUI,	KC_PSCREEN,	KC_PAUSE,
BP_S,		BP_S,
MO(NUMK),
MO(FNAV),	KC_RSHIFT,	KC_ENTER),

/* Keymap 1: function / navigation / mouse layer
 *
 * ,--------------------------------------------------.                                  ,--------------------------------------------------.
 * |        |  F1  |  F2  |  F3  |  F4  |  F5  |VolMut|                                  |      |  F6  |  F7  |  F8  |  F9  |  F10 |        |
 * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
 * |        | Next |LClick|  Up  |RClick| WhUp |VolDwn|                                  |      | PgUp | Home |  Up  |  End |  F11 |        |
 * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
 * |        | Prev | Left | Down | Right|WhDown|------|                                  |------| PgDn | Left | Down | Right|  F12 |        |
 * |--------+------+------+------+------+------| VolUp|                                  |      |------+------+------+------+------+--------|
 * |        | Undo |  Cut | Copy | Paste|      |      |                                  |      |      |      |      |      |      |        |
 * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |             |      |      |      |      |      |             |      |      |      |      |      |
 *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
 *                                             |      |      |      |      |      |      |      |
 *                                             |      |      |------|      |------|      |      |
 *                                             |      |      |      |      |      |      |      |
 *                                             `--------------------'      `--------------------'
 */
[FNAV] = LAYOUT_ergodox(
// Left hand
KC_NO,		KC_F1,		KC_F2,		KC_F3,		KC_F4,		KC_F5,		KC_MUTE,
KC_NO,		KC_MS_BTN5,	KC_MS_BTN1,	KC_MS_UP,	KC_MS_BTN2,	KC_MS_WH_UP,	KC_VOLU,
KC_NO,		KC_MS_BTN4,	KC_MS_LEFT,	KC_MS_DOWN,	KC_MS_RIGHT,	KC_MS_WH_DOWN,
KC_NO,		KC_UNDO,	MK_CUT,		MK_COPY,	MK_PASTE,	KC_NO,		KC_VOLD,
KC_NO,		KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,
														KC_TRNS,	KC_TRNS,
																KC_TRNS,
												KC_NO,		KC_TRNS,	KC_TRNS,
// Right hand
				KC_NO,		KC_F6,		KC_F7,		KC_F8,		KC_F9,		KC_F10,		KC_NO,
				KC_NO,		KC_PGUP,	KC_HOME,	KC_UP,		KC_END,		KC_F11,		KC_NO,
						KC_PGDOWN,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_F12,		KC_NO,
				KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
								KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_NO,		KC_NO,
KC_TRNS,	KC_TRNS,
KC_TRNS,
KC_TRNS,	KC_TRNS,	KC_NO),
/* Keymap 2: numeric keypad layer, sends keypad codes
 *
 * ,--------------------------------------------------.                                  ,--------------------------------------------------.
 * |        |      |      |      |      |      |      |                                  |      |      | NumLo|   /  |   *  |   -  |        |
 * |--------+------+------+------+------+-------------|                                  |------+------+------+------+------+------+--------|
 * |        |      |      |      |      |      |      |                                  |      |      |   7  |   8  |   9  |   +  |        |
 * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
 * |        |      |      |      |      |      |------|                                  |------|      |   4  |   5  |   6  |   +  |        |
 * |--------+------+------+------+------+------|      |                                  |      |------+------+------+------+------+--------|
 * |        |      |      |      |      |      |      |                                  |      |      |   1  |   2  |   3  | Enter|        |
 * `--------+------+------+------+------+-------------,-------------.      ,-------------`-------------+------+------+------+------+--------'
 *   |      |      |      |      |      |             |      |      |      |      |      |             |   0  |  00  |   .  | Enter|      |
 *   `----------------------------------'      ,------|------|------|      |------+------+------.      `----------------------------------'
 *                                             |      |      |      |      |      |      |      |
 *                                             |      |      |------|      |------|      |      |
 *                                             |      |      |      |      |      |      |      |
 *                                             `--------------------'      `--------------------'
 */
[NUMK] = LAYOUT_ergodox(
// Left hand
KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,		KC_NO,
KC_NO,		KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,
														KC_TRNS,	KC_TRNS,
																KC_TRNS,
												KC_NO,		KC_TRNS,	KC_TRNS,
// Right hand
				KC_NO,		KC_NO,		KC_NUMLOCK,	KC_KP_SLASH,	KC_KP_ASTERISK,	KC_KP_MINUS,	KC_NO,
				KC_NO,		KC_NO,		KC_KP_7,	KC_KP_8,	KC_KP_9,	KC_KP_PLUS,	KC_NO,
						KC_NO,		KC_KP_4,	KC_KP_5,	KC_KP_6,	KC_KP_PLUS,	KC_NO,
				KC_NO,		KC_NO,		KC_KP_1,	KC_KP_2,	KC_KP_3,	KC_KP_ENTER,	KC_NO,
								KC_KP_0,	M(KP_00),	KC_KP_COMMA,	KC_KP_ENTER,	KC_NO,
KC_TRNS,	KC_TRNS,
KC_TRNS,
KC_TRNS,	KC_TRNS,	KC_NO)
};


// Whether the macro 1 is currently being recorded.
static bool is_macro1_recording = false;

// The current set of active layers (as a bitmask).
// There is a global'layer_state' variable but it is set after the call
// to layer_state_set_user().
static uint32_t current_layer_state = 0;
uint32_t layer_state_set_user(uint32_t state);


// Method called at the end of the tap dance on the TAP_MACRO key. That key is
// used to start recording a macro (double tap or more), to stop recording (any
// number of tap), or to play the recorded macro (1 tap).
void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
  uint16_t keycode;
  keyrecord_t record;
  dprintf("macro_tap_dance_fn %d\n", state->count);
  if (is_macro1_recording) {
    keycode = DYN_REC_STOP;
    is_macro1_recording = false;
    layer_state_set_user(current_layer_state);
  } else if (state->count == 1) {
    keycode = DYN_MACRO_PLAY1;
  } else {
    keycode = DYN_REC_START1;
    is_macro1_recording = true;
    layer_state_set_user(current_layer_state);
  }

  record.event.pressed = true;
  process_record_dynamic_macro(keycode, &record);
  record.event.pressed = false;
  process_record_dynamic_macro(keycode, &record);
}

// The definition of the tap dance actions:
qk_tap_dance_action_t tap_dance_actions[] = {
  // This Tap dance plays the macro 1 on TAP and records it on double tap.
  [TAP_MACRO] = ACTION_TAP_DANCE_FN(macro_tapdance_fn),
};

// Runs for each key down or up event.
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  if (keycode != TD(TAP_MACRO)) {
    // That key is processed by the macro_tapdance_fn. Not ignoring it here is
    // mostly a no-op except that it is recorded in the macros (and uses space).
    // We can't just return false when the key is a tap dance, because
    // process_record_user, is called before the tap dance processing (and
    // returning false would eat the tap dance).
    if (!process_record_dynamic_macro(keycode, record)) {
      return false;
    }
  }

  return true; // Let QMK send the enter press/release events
}

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
  switch(id) {
	// keypad "double 0"
	case KP_00:
		if (record->event.pressed) {
			return MACRO( T(KP_0), D(KP_0), END );
		} else {
			return MACRO( U(KP_0), END );
		}

	// QUESTION RÉPONSE en cours. en bépo qwerty pour bold et underline u:s b:q. 
	case KP_QUESTION:
        	if (record->event.pressed) {
          		 SEND_STRING(SS_TAP(X_ENTER)SS_TAP(X_ENTER)SS_TAP(X_UP)SS_LCTRL("sq") "Lwer;kf"  SS_LCTRL("sq") "V "SS_LCTRL("sq")SS_TAP(X_TAB)SS_TAP(X_TAB)SS_TAP(X_UP)SS_LCTRL("sq")"Msfkjdr;" SS_LCTRL("sq") " V N"SS_LCTRL("sq")SS_TAP(X_TAB)SS_TAP(X_TAB)SS_LCTRL("sq")SS_TAP(X_LEFT)SS_TAP(X_LEFT)SS_TAP(X_LEFT));
           	 return false;
        		}		


	// line -------
	case KP_LINE:
      		if (record->event.pressed) {
            		SEND_STRING(SS_LCTRL("sq")SS_TAP(X_TAB)SS_TAP(X_TAB)SS_LCTRL("sq")" ");
            	return false;
        		}

	// Macro planche photo
	case KP_PLANCHE:
      		if (record->event.pressed) {
            		return MACRO(D(LSFT), D(LCTRL), T(PSCREEN), U(LSFT), U(LCTRL), END);
            	return false;
        		}

   	 break;
  	}
  return MACRO_NONE;
};

Explication:
- Macro PLANCHE: séquence CTRL+MAJ+PSCREEN  pour faire des copies d'écran en sélectionnant une zone puis copier dans le presse papier. Dans le keymap c'est ça MACRO(D(LSFT), D(LCTRL), T(PSCREEN), U(LSFT), U(LCTRL), END); // D(truc) = presser truc, T(truc) = appuyer et relâcher truc, U(truc) = relâcher truc.
- Macro Fin de ligne: ctrl+u et ctrl+b (SS_LCTRL("sq")) et faire des tabulations SS_TAP(X_TAB) pour faire des traits en fin de ligne. Puis refaire ctrl+u et ctrl+b pour annuler le soulignement et le gras (oups je viens de capter que je fais gras pour rien!). Ça fait ça .                                .
- macro question réponse: pour résumer ça va écrire
Question: ?.                                          .
Réponse.                                       .
Et ça va me replacer devant le ?
- TD(TAP_MACRO) est une macro dynamique avec tap dance. Tu appuies deux fois et ça commence à enregistrer. Tu appuies deux fois et ça stop l'enregistrement. Et quand tu vas appuyer une fois sur la touche ça va écrire ce que tu as tapé durant le temps de l'enregistrement.

Voilà voilà. Pour résumer, tu peux faire n'importe quelle séquence de frappe avec les macros. La liste des touches est énorme. Donc a priori, tous tes raccourcis claviers. Si tu veux pas toucher à ton layer de base, tu peux placer tes macros sur le layer num main gauche.

Ne pas hésiter si tu as des questions. Mais peut être qu'un modo voudra qu'on ouvre un nouveau post dédié à la programmation de macro sous QMK.


PS : si tu es un grand utilisateur des touches Fxy, pourquoi ne pas les faire en tap dance sur la ligne des chiffres ? Exemple :
1 une fois donne « , 1 deux fois rapides donne F1.

Dernière modification par leccux (3/1/2019 04:04:30)


Ergodone et HAVIT HV-KB390L.
bépoète depuis février 2018.
https://10fastfingers.com/share-badge/3_CM

Hors ligne

#4 5/1/2019 12:08:12

Manolo
Membres
Inscription : 6/8/2017
Messages : 30

Re : Pas trouvé le clavier qui me comblera, mais ça approche...

Salut Leccux,

Un grand MERCI BEAUCOUP!

leccux a écrit :

Attention, je ne pensais pas diffuser ça un jour, j'ai vraiment fait à l'arrache. ^^

Pas de problèmes, je pense qu'on fait tous plus ou moins à l'arrache!

leccux a écrit :

Pas de pb pour mon layout, mais je me permets de dégager 4 macros, pour des raisons de ...heu... disons confidentialité  J'ai remplacé les trucs que je ne voulais pas diffuser par "SUP" .

Au fait, ce sont des layers big_smile
Pas de soucis pour les 4 macros. Tes exemples sont largement suffisants.

Pour le qwerty, je vois bien ton problème. J'ai un problème plus ou moins similaire en utilisant le driver bepo portable qui me dérègle les raccourcis configurés sur ma souris. Je suis pas admin sur mon poste sad

leccux a écrit :

D(truc) = presser truc, T(truc) = appuyer et relâcher truc, U(truc) = relâcher truc.

OK

leccux a écrit :

PS : si tu es un grand utilisateur des touches Fxy, pourquoi ne pas les faire en tap dance sur la ligne des chiffres ? Exemple :
1 une fois donne « , 1 deux fois rapides donne F1.

C'est exactement ce que je recherchais et je pense que c'est plus simple (mouvement des doigts / plus ludique / plus rapide) un Tap Dance que de changer de layer pour faire un SHIFT + F12
La fonction TD n'hexistait pas au moment ou j'ai commencé à coder mon clavier en avec le QMK. A première vue d'après la doc, c'est gérable, c'est une super avancée...

Encore Merci... Y'a pluka!

Hors ligne

Pied de page des forums