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….. :tumbsupe:
Merde ….on a pas le droit de sortie !!!!! :smt022:smt022:smt022
Bon appetit !!
Jean Paul :drinkers:
 
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...

IMG_20200329_141525[1].jpg
 

Sujets similaires

A
Réponses
5
Affichages
282
dh42
dh42
Dudulle
Général langage MMBASIC
Réponses
8
Affichages
841
Dudulle
Dudulle
L
Réponses
3
Affichages
784
Legnano
L
P
Réponses
9
Affichages
717
pro-ms
P
Otatiaro
Réponses
5
Affichages
573
ctoutmoi
ctoutmoi
esloch
Réponses
0
Affichages
270
esloch
esloch
R
Réponses
0
Affichages
9 850
Rakat
R
M4vrick
Réponses
9
Affichages
1 336
gaston48
G
W
Réponses
113
Affichages
9 275
Willy 02
W
P
Réponses
8
Affichages
430
proto60
P
Haut