Code clavier ....

  • Auteur de la discussion Auteur de la discussion gaston83
  • Date de début Date de début

gaston83

Compagnon
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.
 
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.
 
Bonjour Bernard,
Oui, pas problème, là je vais manger ma langue de boeuf sauce piquante aux câpres et un Ricard avant....
 
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:
 
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.
 
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:
Bonsoir.
La vache, tu bosses, j'ai presque rien compris mais c'est normal.
Merci.
Bernard.
 
Bonjour à tous,

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

IMG_20200329_141525[1].jpg
 

Sujets similaires

G
Réponses
7
Affichages
370
dh42
dh42
S
Réponses
19
Affichages
425
moufy55
moufy55
manivelle-ebenisterie
Réponses
13
Affichages
485
Jipé11
J
H
Réponses
3
Affichages
464
greg_elec
greg_elec
Sham
Réponses
25
Affichages
580
Sham
Algone
Réponses
23
Affichages
1 089
totoche974
totoche974
V
Réponses
18
Affichages
1 517
V
A
Réponses
5
Affichages
821
dh42
dh42
El Zorro
Réponses
12
Affichages
1 248
El Zorro
El Zorro
U
Réponses
2
Affichages
313
usimeca
U

Sujets similaires

L
Réponses
1
Affichages
209
Nono.60
Nono.60
Moi33
Réponses
6
Affichages
287
dh42
N
Réponses
2
Affichages
813
pierrem
pierrem
L
Réponses
4
Affichages
666
Remyje66
R
U
Réponses
15
Affichages
1 261
usmiste
U
Retour
Haut