Code clavier ....

  • Auteur de la discussion gaston83
  • Date de début
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #1
Bonjour à tous,
Y aurait-il une liste de code clavier pour Mach3.
Je m'explique:
Toujours dans mon projet de radio commande Bluetooth, je cherche les codes clavier pour ouvrir la fenêtre ou se trouvent les fichiers Gcode.
 
pinou29
pinou29
Compagnon
18 Mar 2009
2 809
Toulon ( Var )
Bonjour Gaston.
Toujours en plein travail !!!
Tu peux nous en dire un peu plus sur ton nouveau système, à moins qu'il ait déjà été décrit ?
Merci.
Bon confinement.
Bernard.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #3
Bonjour Bernard,
Oui, pas problème, là je vais manger ma langue de boeuf sauce piquante aux câpres et un Ricard avant....
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #5
.... Et tu sais pas ce qui est bon...
 
coquillette
coquillette
Compagnon
31 Mai 2016
2 276
le wast
Le Ricard...je te le laisse...mais la langue de bœuf… mets une assiette de plus j'arrive….. :tumbsupe:
Merde ….on a pas le droit de sortie !!!!! :smt022:smt022:smt022
Bon appetit !!
Jean Paul :drinkers:
 
C
champimatic
Compagnon
2 Mar 2014
2 113
77 Seine et Marne
Et tu sais pas ce qui est bon
Si ce qui est bon c'est ce que nous aimons ! cad des copeaux ! mais avec quelle huile : de coupe où soluble ? Perso je les préfère nature et al-dente
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #8
Tu peux nous en dire un peu plus sur ton nouveau système,

Bonjour,

Tu peux commencer par là...


et ensuite...


et .............. je continu

ça ce sont les touches dont je me sers..

1) clavier 0-9
2) F1 TAB tableau de droite
3) F2 départ cycle
3)bis Fn-F2 Arrêt cycle
3)ter Fn-9 Début cycle
4) # déplacement manuel-automatique
5) * réglage saut (dans manuel)
6) ▲ ▼ axe Y
7) ◄ ► axe X
8) Esc Saut ou continu
9) ALT-1 mode Automatique
10) ALT-2 mode Manuel
11) Fn-4 X dans le mode manuel
12) Fn-5 Y idem
13) Fn-6 Z idem
14) Fn-7 -
15) Fn-8 +

et maintenant je veux pouvoir sélectionner l'axe que je veux tripoter.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #9
et le code actuel...

/*---------------------------------------------------------------------------------------
'* jpbbricole 2019 03 13
'* modifié gaston 83 (ajout du bouton sur pin 2)
et l'aide de speedf37
*/

#include <Encoder.h> // Gestion bouton rotatif
#include <Key.h>
#include <Keypad.h>
#include <Keyboard.h>
#include <HID.h>

//------------------------------------- Codeur rotatif
#define codRotApin 3 // Pin du port A
#define codRotBpin 4 // Pin du port B

Encoder codRot(codRotApin, codRotBpin);
int codRotIncrement = 0; // Direction de l'encodeur +1 ou -1
int compteur = 0;

void setup() {
pinMode (2, INPUT_PULLUP); // CTRL bouton pour la manivelle
//pinMode (A5, INPUT_PULLUP); // ALT Left boutnon (ALT-1, 2, 3)
pinMode (3, INPUT_PULLUP); // avance X gauche clavier déporté
pinMode (4, INPUT_PULLUP); // avance X droite clavier déporté
Keyboard.begin();
}
const byte ROWS = 5; //cinq lignes
const byte COLS = 4; //quatre colennes

char ctrlKey = ('-');
char keys[ROWS][COLS] = {
{'I', 'U', '#', '*'},
{'1', '2', '3', 'H'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'L', '0', 'R', 'E'}
};

byte rowPins[ROWS] = {9, 8, 7, 6, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {13, 12, 11, 10}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void loop() {

char key = keypad.getKey();

switch (key) {

case'E':
{
Keyboard.press (KEY_RETURN); // Entrée
Keyboard.release (KEY_RETURN);
Keyboard.releaseAll();
}
break;

case'1':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
Keyboard.press (KEY_LEFT_ALT); // Automatique ALT-1
delay(100);
Keyboard.press (49); Keyboard.release (49);
Keyboard.releaseAll();
}
{
Keyboard.press (225);
Keyboard.release (225);
break;
}

case'2':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
Keyboard.press (KEY_LEFT_ALT); // Manuel ALT-2
delay(100);
Keyboard.press (50); Keyboard.release (50);
Keyboard.releaseAll();
}
{
Keyboard.press (226); // 2 du clavier
Keyboard.release (226);
break;
}


case '3':
Keyboard.press (227);
Keyboard.release (227);
break;

case '4':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
Keyboard.write ('X');
Keyboard.release ('X');
delay (400);
}
else
{
Keyboard.press (228);
Keyboard.release (228);
}
break;

case '5':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
Keyboard.write ('Y');
Keyboard.release ('Y');
delay (400);
}
else
{
Keyboard.press (229);
Keyboard.release (229);
}
break;

case '6':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
{
Keyboard.write ('W'); // en fait c'est le Z qui est écrit
Keyboard.release ('W');
delay (400);
}
}
else
{
Keyboard.press (230); // chiffre 6
Keyboard.release (230);
}
break;

case '7':

if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
delay(50);
Keyboard.press(54); //signe "-"
delay(50);
Keyboard.release (54);
delay (400);
}
else
{
Keyboard.press (231); // chiffre 7
Keyboard.release (231);
}
break;

case '8':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé
{
delay(50);
Keyboard.press(43); //signe "+"
delay(50);
Keyboard.release (43);
delay (1000);
}
else
{
Keyboard.press (232); // chiffre 8
Keyboard.release (232);
}
break;

case '9':
if (digitalRead(2) == LOW)
{
Keyboard.press (KEY_LEFT_CTRL);
Keyboard.press(165); // touche W
delay(100);
Keyboard.releaseAll();

Keyboard.press (KEY_LEFT_CTRL);
Keyboard.press(165); // je répète deux fois la fonction
delay(100); // pour qu'elle soit prise en compte
Keyboard.releaseAll(); // Pourquoi ???????
}
else
{
Keyboard.press (233); // chiffre 9
Keyboard.release (233);
}
break;

case 'I': // Tab Affichage panneau de droite
Keyboard.write(KEY_TAB);
break;

case 'U': // Touche F2 // Arret cycle en Automatique
if (digitalRead(2) == LOW)
{
Keyboard.press (KEY_LEFT_ALT);
delay(100);
Keyboard.press (158); Keyboard.release (158); // touche S avec ALT
delay(1000);
}
else // Départ cycle en Automatique
{

Keyboard.press (KEY_LEFT_ALT);
delay(100);
Keyboard.press (157); Keyboard.release (157); // touche R avec ALT
Keyboard.releaseAll();
}
break;

//break;

case '0':
if (digitalRead(2) == LOW) // boucle pour garder le Ctrl appuyé

{
Keyboard.press(KEY_LEFT_CTRL); // Ctrl O = remise à zéro des axes X et Y
delay(100);
Keyboard.press(79); Keyboard.release(79);
Keyboard.releaseAll();
}
else
{
Keyboard.press (234); // chiffre 0
Keyboard.release (234);
}
break;

case 'B': Keyboard.write(KEY_DOWN_ARROW); break; // "Déplacement Bas"
case 'H': Keyboard.write(KEY_UP_ARROW); break; // "Déplacement Haut"

case 'R': Keyboard.write(KEY_RIGHT_ARROW); break; // "Déplacement à Droite"
case 'L': Keyboard.write(KEY_LEFT_ARROW); break; // "Déplacement à Droite"

//break;

case '#': { // Manuel / Automatique
Keyboard.press(KEY_LEFT_CTRL);
delay(100);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.press('j');
delay(100);
Keyboard.releaseAll();
}
break;

case '*':

if (digitalRead(2) == LOW)
{
Keyboard.press (8); // étoile du clavier matriciel pour le Backspace
Keyboard.release (8);
delay(100);
}
else
{
Keyboard.press(KEY_LEFT_ALT); // Réglage du saut 1.00, 0.10, 0.01
delay(100);
Keyboard.press('j');
delay(100);
Keyboard.releaseAll();
}


break;

case 'C': { // Passage Continu / Saut

Keyboard.press(KEY_LEFT_CTRL);
delay(100);
Keyboard.press('j');
delay(100);
Keyboard.releaseAll();
}
break;
}

// initialisation codeur

codRotIncrement = codRot.read() / 4; // Divisé par 4 parcequ chaque impulsion ressentie en tournant le bouton
// Génère 4 impulsions (https://wiki.logre.eu/index.php/Codeur_rotatif_incrémental)

if (codRotIncrement != 0) // Changement de MS affiché
{
if (codRotIncrement < 0)
{
Keyboard.begin();
if (digitalRead(2) == LOW) {
{
Keyboard.press(KEY_LEFT_CTRL);
delay(50);
Keyboard.write(KEY_LEFT_ARROW);
delay(50);
Keyboard.releaseAll();
}
}
}

if (codRotIncrement > 0)
{
Keyboard.begin();
if (digitalRead(2) == LOW) {
{
Keyboard.press(KEY_LEFT_CTRL);
delay(50);
Keyboard.write(KEY_RIGHT_ARROW);
delay(50);
Keyboard.releaseAll();
}
}
}
codRotIncrement = 0; // Remise à Zéro du codeur
codRot.write(0);
}
}

// fin du prog
 
Dernière édition par un modérateur:
pinou29
pinou29
Compagnon
18 Mar 2009
2 809
Toulon ( Var )
Bonsoir.
La vache, tu bosses, j'ai presque rien compris mais c'est normal.
Merci.
Bernard.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 382
FR-71520
  • Auteur de la discussion
  • #12
Bonjour à tous,

Bon, maintenant, je m'attaque à ça... le bouton pour sélectionner l'axe: X, Y ou Z...

IMG_20200329_141525[1].jpg
 
Haut