Code clavier ....

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

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.
 
P

pinou29

Compagnon
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.
 
G

gaston83

Compagnon
Bonjour Bernard,
Oui, pas problème, là je vais manger ma langue de boeuf sauce piquante aux câpres et un Ricard avant....
 
C

coquillette

Compagnon
Le Ricard...je te le laisse...mais la langue de bœuf… mets une assiette de plus j'arrive…..
Merde ….on a pas le droit de sortie !!!!!
Bon appetit !!
Jean Paul
 
G

gaston83

Compagnon
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.
 
G

gaston83

Compagnon
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:
G

gaston83

Compagnon
le code (il faut enlever txt)
 

Fichiers joints

  • clav_case_102 .ino.txt
    9.5 KB · Affichages: 38
P

pinou29

Compagnon
Bonsoir.
La vache, tu bosses, j'ai presque rien compris mais c'est normal.
Merci.
Bernard.
 
G

gaston83

Compagnon
Bonjour à tous,

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

 

Sujets similaires

A
Réponses
5
Affichages
316
dh42
Général langage MMBASIC
Réponses
8
Affichages
1 027
Dudulle
L
Réponses
3
Affichages
801
Legnano
L
P
Réponses
9
Affichages
737
pro-ms
P
Réponses
5
Affichages
643
ctoutmoi
Réponses
0
Affichages
343
esloch
R
Réponses
0
Affichages
9 891
Rakat
R
Réponses
9
Affichages
1 375
gaston48
G
W
Réponses
113
Affichages
10 013
Willy 02
W
P
Réponses
8
Affichages
449
proto60
P